![SQL Server 2000 复制错误](https://linux22.com/image/504653/SQL%20Server%202000%20%E5%A4%8D%E5%88%B6%E9%94%99%E8%AF%AF.png)
早上好,
我有一台装有 SP4 的 SQL Server 2000 机器。
我有一个事务复制。
一直收到此错误消息:
该进程无法在“servername”上执行“sp_replcmds”
日志读取器停止响应。当我单击“开始”时,它启动正常,复制也启动正常。然后,工作了几个小时,问题又出现了。
一开始我以为可能是超时,但我已经在日志读取器配置文件中设置了几个参数,例如 querytimeout/readbatchsize。
有时当日志读取器停止时,它会生成转储,但并非总是如此。
在事件查看器中,出现以下消息:
17066:SQL Server 断言:文件:,行=1985 失败断言 =‘startLSN >= m_curLSN’。
18052:错误:3624,严重性:20,状态:1。
17066:SQL Server 断言:文件:,行=2223 失败断言 =‘m_noOfScAlloc == 0’。
我也在数据库中执行了 checkdb,一切正常。
你是否也经历过类似的事情?
提前致谢,
雷纳托·阿尔维斯。
答案1
这看起来像是 SP4 中修复的错误 - KB 872843。互联网上有很多报告称人们在安装 SP4 后仍然遇到此问题 - 所以我认为它没有得到妥善修复。您唯一的办法似乎是致电 CSS 并让他们进行调查。
谢谢
答案2
如果您无法通过 CSS 修复错误(毕竟这是 SQL 2000),请将 SQL 代理作业设置为每分钟重新启动一次,以便复制将重新启动并重试,而不是等待您重新启动它。
如果您这样做,当它失败时您应该通过电子邮件通知您,以便如果它开始更频繁地发生,您可以使用 CSS 来解决或升级到较新版本的 SQL Server。