Строка подключения для экземпляра SQL Server - PullRequest
1 голос
/ 11 февраля 2011

У меня есть SQL Server 2000, и у него есть 2 других экземпляра SQL.Основной сервер не имеет проблем, в дальнейшем я говорю об этих двух экземплярах:

Они разделяют,

  1. Та же машина
  2. Тот же IP
  3. То же имя экземпляра
  4. Тот же порт

Мне тоже интересно, как это было.

Использование анализатора запросов После подключения к

MyServer\Invent (it connects to first instance)
MyServer\Invent,1433 (it connects to second instance)

(Да, это происходит. Я на 100% уверен в этом, потому что у меня есть отдельные БД внутри них)

Теперь возникает проблема,

С C # SqlConnection, яневозможно подключиться к первому, но можно подключиться ко второму.

1. Data Source=MyServer\Invent;Persist Security Info=True;Initial Catalog=TEST;uid=admin;pwd=123
2. Data Source=MyServer\Invent,1433;Persist Security Info=True;Initial Catalog=TEST;uid=admin;pwd=123

После того, как я использовал 1-ю строку подключения, он на некоторое время зависает и получает следующее сообщение об ошибке ...

" При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не был найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (Поставщик:Сетевые интерфейсы SQL, ошибка: 26 - ошибка определения местоположенияУказан сервер / экземпляр)"

В сети искал это, многие говорят, что установка возможна.И одно соединение должно использовать именованные каналы (tcp / 445)

Есть идеи, как решить эту проблему?Любой возможный формат строки подключения?Во всяком случае сделать строку подключения для именованных каналов?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Я думаю, что ваша проблема в том, что один сервер использует другой порт. Поэтому он использует TCP, но другой порт, и вам нужно выяснить, какой порт он использует, а затем добавить этот порт в строку подключения, как вы делаете это с другим экземпляром (1433).

ваш менеджер конфигурации SQL Server. Перейдите к узлу конфигурации сети SQL Server и разверните его. Найдите экземпляр в дочерних узлах Теперь с правой стороны вы увидите протоколы (общая память, именованные каналы, TCP и т. Д.) Дважды щелкните по TCP. В появившемся диалоговом окне перейдите на вкладку IP-адрес. Прокрутите вниз до раздела «IP All»

Что это говорит о TCP-порте? enter image description here

0 голосов
/ 11 февраля 2011

Я думаю, что ваш первый экземпляр на самом деле не слушает 1433, хотя обычно это значение по умолчанию.

Я считаю, что можно изменить порт по умолчанию с помощью утилиты конфигурации SQL Server.Проверьте, какой порт по умолчанию, и, предположив, что это не 1433, попробуйте указать его в первой строке подключения.

Вот некоторая информация о том, как проверить, какой порт прослушивает ваш экземпляр.1007 *

Редактировать: Хорошо, первый экземпляр прослушивает именованный канал.Может быть server=np:MyServer\Invent; будет работать, согласно этой странице .

...