Классический ASP на сервере 2008 и SQL 2008 - PullRequest
1 голос
/ 19 ноября 2008

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

Я восстановил базу данных из резервной копии SQL 2k на сервер SQL 2008, правильно настроил пользователя и могу нормально войти в систему как этот пользователь в Management Studio. Я скопировал поверх файлов .asp, которые нормально загружаются, когда нет доступа к базе данных. Но когда я пытаюсь получить доступ к базе данных, происходит сбой с "Ошибка входа пользователя ...".

Я сбросил пароли, создал новых пользователей, изменил строку подключения с OLEDB на собственный клиент SQL и обратно, но продолжаю получать ошибки. Я даже настроил фиктивную базу данных и пользователя и все еще имею ту же проблему.

Кто-нибудь знает причину, по которой это может происходить? Есть ли в SQL или Windows параметр, который мне не хватает?

Я занимаюсь этим часами и буду очень признателен за любые идеи.

ОБНОВЛЕНИЕ: Если я введу неверные данные для входа в строку подключения, я получу сообщение об ошибке на conn.open, но если я введу правильные данные для входа, я получу ошибку на cmd.activeconnection = conn. Не уверен, поможет ли это.

Ответы [ 5 ]

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

У меня только что было несколько подобных проблем с нашими Windows 2008 и SQL Server 2008. Из того, что я помню, это шаги, которые мы прошли, чтобы включить подключение с использованием аутентификации SQL

  1. Войдите на SQL Server как администратор, измените свойства сервера, чтобы разрешить аутентификацию в смешанном режиме (аутентификация SQL и аутентификация Windows)

  2. Перезапустите службу SQL Server

  3. Используя диспетчер конфигурации SQL Server, убедитесь, что протоколы расшифрованы (TCP / IP)

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

При входе в SQL Server используется ли проверка подлинности Windows?

Надеюсь, это поможет.

0 голосов
/ 28 января 2013

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

0 голосов
/ 27 января 2013

У меня была похожая проблема.

Я изменил строку подключения из этого:

DRIVER={SQL Server};SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

К этому:

Provider=SQLNCLI10.1;SERVER=80.82.xxx.xxx;DATABASE=mydatabasename;UID=myusername;PWD=mypassword

И это сработало.

Возможно, вы захотите поиграть с другими настройками провайдера.

0 голосов
/ 06 марта 2010

Я получил решение, для классической строки подключения asp:

myConnection.ConnectionString = "Driver={SQL Server};Server=xxx.xxx.xxx.xxx,1533;Database=mydb;Uid=user123;Pwd=user123d;"
0 голосов
/ 19 ноября 2008

Похоже, проблема с ADO. Вы пытались установить последнюю версию или обновить установку, если у вас уже установлена ​​последняя версия?

Редактировать: Извините, не заметил, что вы используете Windows Server 2008. Эта версия поставляется с Windows DAC 6.0, и, насколько я знаю, ее нельзя переустановить. Поскольку ваш файл UDL работает, единственное, о чем я могу подумать, - это убедиться, что у пользователя, удостоверяющего ваш сайт ASP, есть доступ к папкам, содержащим библиотеки DAC. Вы можете попробовать запустить FileMon из Sysinternals и проверить доступ к этим файлам для запрещенных записей.

...