在RESTORE之后连接到数据库时出现问题。 SQL Server 2005和经典ASP

时间:2010-07-19 14:59:32

标签: sql sql-server asp-classic selenium odbc

我有一些Selenium测试脚本,我用它来测试经典ASP Web应用程序,但是在运行每个测试之前使用备份文件还原数据库(SQL Server 2005)后我遇到了问题。在成功的RESTORE(从运行sqlcmd的Python脚本...)后,当ASP尝试连接到db时,我立即得到以下错误...

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

这是由ADODB使用此连接字符串...

生成的
"DSN=mydbdsn;UID=myuser;PWD=mypass;"

但是尝试通过ODBC从C ++ ActiveX对象进行连接也会失败并出现相同的错误。

重新启动IIS使事情恢复正常。 SQL Server 2008也出现了同样的问题。

有没有人知道为什么我在RESTORE之后无法连接到数据库?

谢谢,

3 个答案:

答案 0 :(得分:2)

从serverfault复制重复问题:

来自RESTORE规范:

  

在脱机还原期间,如果是   指定的数据库正在使用中,RESTORE   短暂后迫使用户关闭   延迟。

因此,请确保在还原后打开连接。来自连接池的现有连接都被RESTORE破坏,如明确记录的那样。在每次测试之前清除连接池。

答案 1 :(得分:0)

我猜这与连接池有关,当数据库进入单用户模式进行恢复时,连接被终止。

除了你问题中的内容之外,错误信息中是否有任何文字?

答案 2 :(得分:0)

听起来像某个地方正在缓存与服务器的连接。建立连接池或者你的代码在某处泄漏连接......很可能是经典的asp。

听起来您可能只想让IISRESET调用成为数据恢复计划的一部分。