Вопрос о строке подключения SQL Server

Вопрос о строке подключения SQL Server

Я пытаюсь подключиться к именованному экземпляру SQL на сервере. Уже есть экземпляр по умолчанию SQL Server 2005 и новый именованный экземпляр - SQL Server 2008. Я использую свойство "Сетевая библиотека" для использования TCP-подключения, но по какой-то причине он пытается подключиться к экземпляру по умолчанию и пропускает ошибку об ошибке входа.

Если я удаляю сетевую библиотеку, соединение также устанавливается без ошибок.

Я использую аутентификацию Windows и имею все необходимые разрешения.

Проблемная строка подключения:

Источник данных=ИмяСервера\ИмяЭкземпляра,1433;сетевая библиотека=dbmssocn;Начальный каталог=ИмяМоейБазыДанных;Интегрированная безопасность=SSPI

Рабочая строка подключения:

Источник данных=ИмяСервера\ИмяЭкземпляра;НачальныйКаталог=ИмяМоейБазыДанных;Интегрированная безопасность=SSPI

Я хотел бы понять почему, пожалуйста. Спасибо заранее,

Тамир

решение1

В строках подключения есть два отличия, поэтому я постараюсь ответить на этот вопрос...

  • Именованные экземпляры не прослушивают порт 1433 (только экземпляр по умолчанию, т.е. по умолчанию)
  • Имя экземпляра игнорируется, если указан порт.

Так:

  • ServerName\InstanceName,1433означает подключение к серверу "ServerName" на порту 1433
  • ServerName\InstanceNameозначает подключение к серверу «ServerName» и разрешение имени экземпляра для правильного порта (разрешение использует порт 1434 UDP)

Однако, network library=dbmssocnозначает использовать tcp. Это может быть экземпляр SQL Server (см. port stuff) не слушает tcp

Связанный контент