sql2005链接服务器问题,造成经常物理连接不可用
本帖最后由 zjl8008 于 2013-12-15 17:21:02 编辑 A服务器win2008 64位+ms sql2005企业版sp3
B服务器win2008 32位+ms sql2005企业版sp4
在B服务器上添加了链接服务器连接到A,
然后做了一个接口程序,从A数据库导数据到B数据库
经测试可以正常运行。
问题是启用这个接口程序后,原来访问A库的业务程序经常报错,“物理连接不可用”,A程序是pb开发程序,在程序打开时连接数据库,关闭时断开数据库连接,已排除网络故障。1个小时可能会发生5、6次左右。
而在不使用接口程序时,使用1天也不会出错。
这是什么原因呢?
接口程序中用到了如下命令,不知道有什么关系?
SET ANSI_NULLS ON
SET ANSI_warnings ON
set xact_abort ON
另原来在2台wind2003++ms sql2005企业版sp3,使用时没有发生如上问题,如何解决呢?
[解决办法]
按照代码上来理解,可能你有事务不成功,回滚,但是回滚时间太长,阻塞了,导致数据库超时
[解决办法]
有可能是,B服务器在把数据库A的数据,导入到B服务器时,锁住了表,然后导致原来能正常执行的 pb程序,在执行sql语句,超时了,导致连接断开。
[解决办法]
SELECT TOP 10 * FROM sys.dm_os_waiting_tasks ORDER BY wait_duration_ms DESC
SELECT TOP 10 * FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC