Sql Server 2005 доступен только в ASP.NET 1.1, когда я указываю протокол и порт - PullRequest
0 голосов
/ 14 ноября 2008

Моя компания в настоящее время переносит некоторые из своих действительно старых БД на sql server 2005. У некоторых устаревших приложений возникают проблемы с подключением к новому серверу. Строка подключения работает в Asp.NET 2.0, возможно потому, что она принимает tcp: 1433 автоматически.

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

"Server=tcp:my.server.com,1433;..."

Без протокола и порта сбой соединения («Исключение из-за недопустимого соединения»)

На нашем брандмауэре открыты TCP 1433 и UDP 1434. На SQL Server 2005 удаленный доступ включен, так же как и TCPIP, служба браузера SQL работает, я использую правильные учетные данные для входа.

Есть идеи, почему я не могу просто указать имя сервера без протокола и номера порта?

Ответы [ 3 ]

1 голос
/ 14 ноября 2008

IIRC SQL Server 2005 по умолчанию находит любой старый доступный порт. На моем ноутбуке это означает порт 1212.

Для принудительного подключения к определенному порту необходимо перейти в «Пуск» -> «Программы» -> «SQL Server 2005» -> «Инструменты настройки» -> «Диспетчер конфигурации SQL Server»

.

Отсюда вы должны перейти к Конфигурация сети SQL Server 2005-> Протоколы для (имя службы) -> Щелкните правой кнопкой мыши TCP / IP-> Свойства-> Выберите вкладку «IP-адрес» и установите для динамических портов TCP значение.

По какой-то причине «0» означает «Да, использовать динамические порты» и (то есть нет записи в поле) меню «Нет, я сам укажу»

Затем заполните поле TCP Port с помощью 1433.

Сделайте это на всех перечисленных адаптерах и перезапустите службу SQL.

Теперь вы можете проверить, действительно ли служба находится на правильном порту, выполнив следующую команду

Пуск-> Выполнить-> cmd.exe

C:> netstat -ano

искать запись, подобную этой

 local address         <stuff>           PID
 0.0.0.0:1433                            <some number>

Теперь сделай C:> Tasklist

и найдите задание с номером сверху. Эта задача должна называться что-то вроде sqlsrvr.exe.

0 голосов
/ 16 ноября 2008

Проверьте параметры «Конфигурация собственного клиента SQL» в «Диспетчере конфигурации SQL» на компьютере ASP.NET. Настройки соединения по умолчанию установлены там. Также попробуйте поиграться с конфигурацией MDAC:

http://msdn.microsoft.com/en-us/library/ms131035.aspx

0 голосов
/ 14 ноября 2008

Возможно, ваш SQL Server настроен для работы с несколькими протоколами, и он пытается сначала использовать другой протокол и не работает, возможно, по какой-то причине (учетная запись, на которой работает приложение, как в IIS). Просто предположение.

...