我们有两台服务器 - 一台 Windows 2012服务器作为网络服务器,一台 Windows 2012服务器作为SQL服务器(网络版) - 使用私有IP地址他们。我们使用相当小的数据库等在这个平台上运行生产站点。
今天我们将另一个网站转移到此设置。该网站运行在 Windows 2003服务器上,带有SQL 2008 Server(网络版),没有任何实际问题,只是服务器变得陈旧且胡思乱想。
我不是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。