重新启动后,特定站点无法连接到MSSQL服务器

我的Windows 2008 R2服务器上有一个非常恼人的问题。 每次计划或未计划重新启动时,一个特定站点都无法连接到数据库服务器,即同一台计算机上的MSSQL Server 2008 R2 Express实例。 它会给出以下错误:

无法打开login请求的数据库“SiteDb”。 login失败。
用户“SiteDbUser”login失败。

这个错误将继续,直到我手动回收这个特定网站的应用程序池 – 一个简单的网站重新启动似乎没有办法。 只要我回收应用程序池,该网站连接就好了,并将继续这样做,直到下一次重新启动。 现在,奇怪的是我有这个networking服务器上运行的其他网站,似乎没有遭受这个问题 – 他们将重新启动后连接就好了。 我所有的网站都有不同的MSSQL用户,但我已经比较了那些不工作的人,而我似乎也找不到任何差异。 我也尝试为有问题的网站创build一个新用户,但这似乎没有任何区别。 我已经尝试在连接string中同时指定实例名称和“127.0.0.1”,并且都为其他网站工作,但没有一个对有问题的网站有所作为。

我也尝试了一些其他的东西,但是因为我必须重新启动服务器来testing它(或者至less看起来如此),testing这有点“昂贵”,因为服务器运行的网站相当多每天的访客对我的业务至关重要。

有没有人经历过这样的事情? 我会欣赏任何想法:)

有可能重新启动IIS之前SQL Server数据库(即它正在恢复,它不可用)可用。 你有很多数据库吗? 这可能意味着更长的启动时间。

我猜这是由“login请求无法打开数据库”SiteDb“这意味着login成功,但无法连接到指定的数据库。

思路:

  • 你可以改变IIS服务,以延迟启动?
  • 设置等待30秒的启动作业然后发出iisreset
  • 添加重试逻辑的网页代码?