在会话信息窗口那里显示错误:“The process could not execute 'sp_MSadd_replcmds' on prl01”,不知怎么解决。

解决方案 »

  1.   

    将在给定的数据库内运行   sp_replcmds   的第一个客户端视为日志读取器。返回被标记为复制的事务的命令。此存储过程在发布服务器的发布数据库上执行。sp_replcmds   用于事务复制。   
        
      此过程可以为所有者限定的表或未限定的表名(默认值)生成命令。添加限定的表名允许将数据从一个数据库内的特定用户所拥有的表复制到这个用户在另一个数据库内所拥有的表中。   
        
        
        
      说明     由于源数据库内的表名是由所有者名称限定的,所以目标数据库内的表所有者必须具有相同的所有者名称。   
        
        
      尝试在同一数据库内运行   sp_replcmds   的客户端会收到   18752   号错误,直到第一个客户端断开连接为止。当第一个客户端断开连接后,另一个客户端可以运行   sp_replcmds,并成为新的日志读取器。   
        
        
        
      说明     应只在解决与复制有关的问题时才运行   sp_replcmds   过程。   
        
        
      如果因为在同一个事务中没有检索到文本指针而导致   sp_replcmds   无法复制文本命令,则将在   Microsoft®   SQL   Server™   错误日志和   Microsoft   Windows   NT®   应用程序日志中添加   18759   号警告消息。   
        
      权限   
      只有   sysadmin   固定服务器角色成员或   db_owner   固定数据库角色成员才能执行   sp_replcmds。 
    莫非是磁盘空间不足导致?把整个磁盘空间都用完了,sp_replcmds要生成同步资料,可是硬盘没有空间了,导致该错误发生。解决办法:
    收缩日志,空出足够的磁盘空间
    backup log servername with no_log
    dbcc shrinkdatabase ('servername',truncateonly')
      

  2.   

    To:kk19840210 
    好像硬盘好像够哦。有一百多G,现在日志大小七十多G而已。
      

  3.   

    是不是timeout了?
    把QueryTimeOut搞到1000.如果不行,就可能是数据库有问题
    两个数据库和msdb数据库都用DBCC CHECKDB 检查下。