У меня есть веб-приложение MVC3 (C # .Net V4), которое обращается к нескольким различным базам данных в одном экземпляре SQL Server 2008R2 SQLEXPRESS.Базы данных обеспечивают определенную степень разделения между схемами и наборами данных и, в случае двух из них, совместно используются другими веб-приложениями.
Я сталкиваюсь со старой любимой ошибкой SQL Server ...
Произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Server.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске указанного сервера / экземпляра)
Моя проблема заключается в том, что это не происходит согласованно для всех соединений, определенных в приложении.Под этим я подразумеваю, что каждая база данных на сервере доступна через разные соединения в файле web.config следующим образом: -
<connectionStrings>
<add name="Elmah.Sql" connectionString="Data Source=EMEA-CAT\SQLEXPRESS;Initial Catalog=elmah;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="fs_utilitiesConnectionString" connectionString="Data Source=EMEA-CAT\SQLEXPRESS;Initial Catalog=fs_utilities;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="quartzConnectionString" connectionString="Data Source=EMEA-CAT\SQLEXPRESS;Initial Catalog=quartz;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="pdmsConnectionString" connectionString="Data Source=EMEA-CAT\SQLEXPRESS;Initial Catalog=pdms;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Все указывают на один и тот же экземпляр сервера и три из четырех работаютбез проблем.Однако любая попытка подключиться к базе данных quartzConnectionString приводит к ошибке сервера.
Я следовал обычным рекомендациям по устранению этой распространенной проблемы, которая может найти не конкретные проблемы.Например, перечисленные в http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx
. Я могу подключиться к серверу, используя SSMSE и SQLCMD, без проблем, используя TCP и именованные каналы.Браузер SQL работает на сервере, и я выполнил команду PortQry, и это указывает, что порты 1433 и 1434 доступны.
Единственное отличие для базы данных, которая дает сбой, заключается в том, что она работает на совместимости с SQL Server 2005уровень, чтобы иметь возможность работать с Quartz.NET.