Строка подключения для удаленных подключений к SQL Server 2008 - PullRequest
1 голос
/ 26 августа 2011

Я пытаюсь удаленно подключиться к SQL Server 2008 R2 Express на сервере под управлением Windows Server 2008 R2.Я получаю следующую ошибку:

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

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

Data Source=123.123.123.123\InstanceName;Initial Catalog=MyDBName;user id=MyUserName;password=MyPassword;

Имя экземпляра моей установки SQL Server принимает форму ComputerName\SQLEXPRESS.Это то, что я вижу при входе в Management Studio на сервере.Поэтому, если строка подключения начинается с

Data Source=123.123.123.123\ComputerName\SQLEXPRESS

Это выглядит неправильно из-за всех косых черт.Я попытался опустить имя компьютера таким образом:

Data Source=123.123.123.123\SQLEXPRESS

Я также где-то читал, что вы можете указать порт, поэтому я также попытался

Data Source=123.123.123.123,1433\SQLEXPRESS

, потому что я понимаю, что 1433 являетсяTCP-порт, используемый SQL Server, и

Data Source=123.123.123.123,1434\SQLEXPRESS 

, потому что я понимаю, что 1434 - это UDP-порт, используемый браузером SQL Server.

Я также попробовал каждую комбинацию из них, и все они даютта же ошибка.

Вот шаги, которые я предпринял для включения удаленного просмотра на сервере:

  1. В Management Studio щелкните правой кнопкой мыши экземпляр, перейдите в Свойства, Безопасностьи проверьте SQL Server и режим аутентификации Windows.На вкладке подключений я установил флажок «Разрешить удаленные подключения к этому компьютеру».

  2. В диспетчере конфигурации SQL Server я включил все четыре варианта подключения (общая память, именованные каналы, TCPIP и через) под каждым узлом они встречаются.В протоколах для SQL Express я попытался указать порт 1433, а также оставить его пустым с динамическими портами TCP, установленными в 0 (что, я думаю, предназначено для включения динамических портов).

  3. Я создалисключения брандмауэра для TCP-порта 1433, UDP-порта 1434 и программные исключения для sqlservr.exe и sqlbrowser.exe.

Если кто-то может сказать мне, какая из четырех версий части DataSourceстрока подключения, которую я должен использовать, будет очень полезна, даже если это не решит проблему.Это означало бы, что все, что я попробую впоследствии, мне нужно будет протестировать только один раз вместо четырех.

Заранее благодарен за любую помощь!

1 Ответ

1 голос
/ 26 августа 2011

Где вы ввели исключения брандмауэра, на вашем компьютере, на сервере или в обоих?

Вторая строка подключения является единственно действительной. Можете ли вы подключиться к серверу через порт 1433? Можете ли вы подключиться к экземпляру из Management Studio удаленно, и проблема только в вашем коде, где находится строка подключения? Вы пытались запустить тот же код на сервере? Вы пытались принудительно установить TCP / IP (по сравнению с именованными каналами / разделяемой памятью и т. Д.), Добавив следующий параметр в строку подключения:

Network=DBMSSOCN;

Этот вопрос поднимается довольно часто, и я уверен, что вы сталкиваетесь с чем-то, что другие уже ударяли раньше. Прочитали ли вы эту статью " Как устранить неполадки подключения к ядру базы данных SQL Server "? Также здесь есть более 20 вопросов, в которых упоминается это сообщение об ошибке и Express, в соответствии с результатом поиска . Я предлагаю дважды проверить ваши настройки по отношению к некоторым пунктам в тех ответах, которые решили проблему для других пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...