2010-01-21 7 views
1

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

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

Я использую windows authntication и имею все необходимые разрешения.

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

Data Source = ServerName \ InstanceName, 1433; библиотечная сеть = dbmssocn; Initial Catalog = MyDataBaseName; Комплексная безопасность = SSPI

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

Источник данных = Имя_сервера \ Имя экземпляра; Начальный каталог = MyDataBaseName; Интегрированная безопасность = SSPI

Опуская 1433; сетевой библиотеки = dbmssocn из строки подключения делает разницу. добавив, что он подключил сервер для подключения экземпляра deafult. Оба сервера позволяют удаленные подключения.

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

Тамир

+0

Вы также удалили номер порта из строки рабочего соединения, этот номер порта является портом по умолчанию, который будет прослушивать экземпляр по умолчанию на – slugster

+0

Да , спасибо, я тоже удалил его :), извините, если не было понятно – Tamir

+0

BTW, это может быть более подходящим для serverfault.com – ConcernedOfTunbridgeWells

ответ

3

Скопировано из моего ответа на your question on ServerFault ...

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

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

Итак:

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

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

1

В догадке экземпляры 2005 и 2008 будут слушать на разных портах. Возможно, вам нужно установить строку подключения экземпляра SQL Server 2008 на правильный порт; вы можете поразить слушателя SQL Server 2005 и запросить его для экземпляра, отсутствующего в установке 2005 года.

Какой порт является экземпляром SQL Server 2008, прослушивающим - This article discusses the subject., и имеет сценарий powershell, который фактически запрашивает систему, чтобы узнать, какой порт СУБД действительно прослушивает. В нем также немного говорится о том, где этот конфиг живет в реестре.

Смежные вопросы