今天早上刚上班,发现同步复制的Log Agent出现错误:The process could not execute 'sp_replcmds' on 'servername'。
在网上搜索后发现一些相关的信息:
在SQL Server 2000 SP2之前有个bug会导致该错误发生。
但是我的已经打到了SP3a,应该不会是这个原因了。
还有人说要在在Agent Profiles里面把QueryTimeout的值设大点,试过无效。
查看SQL Server Error Log,发现以下记录
Error: 9002, Severity: 17, State: 6
The log file for database 'servername' is full. Back up the transaction log for the database to free up some log space..
晕,莫非是磁盘空间不足导致?看了下那个db的log,足有25G,周末长得太快,把整个磁盘空间都用完了,sp_replcmds要生成同步资料,可是硬盘没有空间了,导致该错误发生。
解决办法:
收缩日志,空出足够的磁盘空间
backup log servername with no_log
dbcc shrinkdatabase ('servername',truncateonly')
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50156/,如需转载,请注明出处,否则将追究法律责任。