事务复制报了个错误,不知怎么解决才好。

playboyzys12 2008-03-21 01:31:48
在会话信息窗口那里显示错误:“The process could not execute 'sp_MSadd_replcmds' on prl01”,不知怎么解决。
...全文
112 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haytor 2011-11-18
  • 打赏
  • 举报
回复
学习一下。
kelph 2008-03-21
  • 打赏
  • 举报
回复
是不是timeout了?
把QueryTimeOut搞到1000.

如果不行,就可能是数据库有问题
两个数据库和msdb数据库都用DBCC CHECKDB 检查下。
playboyzys12 2008-03-21
  • 打赏
  • 举报
回复
To:kk19840210
好像硬盘好像够哦。有一百多G,现在日志大小七十多G而已。
kk19840210 2008-03-21
  • 打赏
  • 举报
回复
将在给定的数据库内运行 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')


liangCK 2008-03-21
  • 打赏
  • 举报
回复
帮顶
楼下解决.

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧