1

我们有两台服务器——一台Windows 2012 服务器作为 Web 服务器,一台Windows 2012 服务器作为 SQL 服务器(网络版)——使用它们之间的私有 IP 地址。我们使用相当小的数据库等在这个平台上运行良好的生产站点。

今天,我们将另一个网站移至此设置。该站点在带有 SQL 2008 Server(Web 版)的 Windows 2003 服务器上运行,没有任何实际问题,只是服务器变得老旧且古怪。

我不是 MSSQL DBA,但可以处理最简单的事情。这就是我们所做的。

对源服务器上的数据库进行了完整备份 - 它正在使用简单恢复。

将数据库复制到 2012 服务器并恢复它,创建用户并为表和 SP 等分配权限。

设置站点 - 这是 IIS8 上的经典 asp 站点,并使用以下连接字符串,我们一直在新服务器上的其他站点上使用它:

objDBConn.Open "Provider=SQLOLEDB.1;Password=XXXX;Persist Security Info=True;User ID=XXXX;Initial Catalog=XXXX;Data Source=10.183.5.120;Network Library=DBMSSOCN"

该站点启动良好并连接到数据库,但某些页面运行速度非常慢并最终超时:

Microsoft OLE DB Provider for SQL Server error '80040e31'
Query timeout expired

它似乎在一张特定的桌子上比其他桌子上更多。这是一个大型数据库 - 3GB 数据,不包括任何日志。但是在旧服务器上没有问题。

我们切换了 A 记录,人们开始访问该站点。该网站每天有几千名访问者。

在接下来的几个小时内,使用该连接的任何页面的响应速度都变慢了,直到没有任何反应并超时。

增加连接查询超时有时会有所帮助 - 但它必须设置为一些疯狂的时间。

最后我打电话给 Rackspace 并重新启动 SQL 服务器。重新启动时,该站点现在似乎运行正常。但我担心我们不知道是什么原因造成的。

有没有人在类似的情况下遇到过此类问题?

肯定没有获得一些疯狂的 400 美元/小时 Rackspace SQL DBA 的现金。

4

0 回答 0