【发布时间】:2009-02-17 02:55:41
【问题描述】:
我通过专用 VPN 连接在两台服务器之间运行事务复制。数据库相当大,所以我最初使用备份和恢复方法将初始快照传送到订阅者机器,然后让它从那里应用增量事务。
一切都运行良好,直到 VPN 线路变得不稳定(它偶尔会这样做),此时复制过程很容易被锁定。当我查看订户端时,有几个 SQL 进程似乎已挂起,并且在订户数据库和表上持有锁。疯狂的是,这些进程来自复制服务。我可以向您保证(通过反复试验),除了复制本身之外,没有其他进程会锁定此数据库。
那么,为什么复制过程会这样绊倒自己呢?为什么它会因为失去网络连接而挂起?有什么建议可以让它更可靠吗?
【问题讨论】:
-
您使用什么防火墙来建立您的 VPN 隧道?你用的是最新的固件吗?
-
@John Sansom - 不确定,我真的无法控制网络。
-
您正在运行哪些版本的 SQL Server(2000、2005、2008)?当有一个进程被锁定时,你能用等待进程的 spid 做一个 DBCC INPUTBUFFER(spid),并显示它在做什么吗?这可能有助于追踪它。
-
我用的是 2005。我会试试 DBCC INPUTBUFFER 的东西。感谢您的建议。
-
DBCC INPUTBUFFER 结果有什么更新吗?