Проблема с подключением к базе данных после восстановления.SQL Server 2005 и классический ASP - PullRequest
2 голосов
/ 19 июля 2010

У меня есть несколько тестовых сценариев Selenium, которые я использую для тестирования классического веб-приложения ASP, но у меня возникают проблемы после восстановления базы данных (SQL Server 2005) с помощью файла резервной копии перед каждым тестом.Сразу после успешного RESTORE (из скрипта Python, выполняющего sqlcmd ...), когда ASP пытается подключиться к БД, я получаю следующую ошибку ...

[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).,,,Microsoft OLE DB Provider for ODBC

Это генерируется ADODB с помощьюСтрока подключения ...

"DSN=mydbdsn;UID=myuser;PWD=mypass;"

Но попытка подключения из объекта C ++ ActiveX через ODBC также завершается с той же ошибкой.

Перезапуск IIS возвращает все в нормальное состояние.И в SQL Server 2008 возникает та же проблема.

Кто-нибудь знает, почему я не могу подключиться к базе данных после восстановления?

Спасибо,

Ответы [ 3 ]

2 голосов
/ 19 июля 2010

Копирование с сервера дубликата вопроса:

Из RESTORE характеристик:

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

Поэтому убедитесь, что вы открыли новые соединения после восстановления.Все существующие соединения из пула соединений отключаются RESTORE, как четко задокументировано.Очистите пул соединений перед каждым тестом.

0 голосов
/ 19 июля 2010

Звучит так, будто соединение с сервером где-то кешируется.Либо пул соединений установлен, либо ваш код где-то пропускает соединения ... что, скорее всего, с классическим asp.

Похоже, вы просто хотите включить вызов IISRESET в свой план восстановления данных.

0 голосов
/ 19 июля 2010

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

Есть ли в сообщении об ошибке какой-либо текст, кроме того, чтов вашем вопросе?

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