SqlServer2000发布和订阅的问题:sql 对发布"XXX'的订阅是无效的、进程未能在“Subscriber”上进行生成
2010-04-22 15:31
363 查看
一日,因工作需要,需在Sqlserver200中配置发布和订阅,以使多个数据库之间的数据保持同步。
小生心想,此等小菜大可信手拈来,于是乎,提神挽袖,合并发布-》强制订阅,分分钟搞定。正欲收工之时,屏幕上一道红光闪过,只见复制监视器下赫然出现几个大红叉,煞是醒目,小生心头一紧,随即点开一一查看,同步失败!!!再深入一瞅,错误信息大致如:c(恕小生愚钝,详细信息已记不清了),此等怪事小生今生头回遇见,难道是时辰不对?可在小生去了趟WC回来后,错误依然,看来非时辰之过。
但此等错误小生也是生平头回遇见,为尽快解决战斗,先祭出黄金神器:百度!。将错误信息录入,神器抛出不少锦囊,小生花了整整三个小时逐一试用,无一能解!一招不行,小生遂又祭出终极神器:谷歌!苍天不辜,终极神器就是非同凡响,小生终于在一西域锦囊中发现了点端倪:@@servername!!!
小生这才想起,以前在订阅服务器上安装完SQLServer 后,改过机器名,遂打开查询分析器,输入:
select @@servername
靠!果然是他,查询结果显示的是我以前的机器名,问题八九不离十九出在此地,于是乎,小生将现在的机器名加入并除去旧机器名:
sp_dropserver '旧的机器名'
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
完毕,重新启动SQL,小生心想这下应该解决战斗。
启动完毕后,进入发布服务器,重新执行合并代理程序.........进行中......晕,又是红叉!小生的心如同落入冰窟,还好小生够坚强,打开错误信息,还好,原来的错误没了,不过一个新的错误诞生了:
进程未能在“Subscriber”上进行生成
错误详细信息:进程未能在“Subscriber”上进行生成。
(源: 合并复制提供程序 (代理程序); 错误代码: -2147200994)
---------------------------------------------------------------------------------------------------------------
无法将 NULL 值插入列 'nicknames',表 'scyz_ext.dbo.MSmerge_genhistory';该列不允许空值。INSERT 失败。
(源: DREAM (数据源); 错误代码: 515)
小生立即回到订阅服务器,查询@@servername,怪了,居然是'NULL’,难怪,遂重新执行命令:
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
提示:服务器 'DREAM' 已存在,小生一不做二不休,干脆删了重来:
sp_dropserver 'DREAM'
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
然后再:select @@servername,终于把服务器名改过来了。
再回到发布服务器,重新执行合并代理程序,小生是双手紧拽,汗毛竖立,口念佛语。。。。。。。。
成功!终于成功,红叉消失,屏幕又恢复了往日的平静,似乎刚才的战斗从未发生过,再经过一番测试,完全正确,小生心头一块巨石终于落下,但是为何造成该错误仍然不明,还望高手指教。在此还要谢过那位不知名的西域壮士。
小生因百度类似问题,未见正确解决办法,所以在此写下,后来的仁兄如遇到同样问题,不妨一试,但小生也不能保证此法能解决类似问题。如不能解决,还望口下留情。
小生心想,此等小菜大可信手拈来,于是乎,提神挽袖,合并发布-》强制订阅,分分钟搞定。正欲收工之时,屏幕上一道红光闪过,只见复制监视器下赫然出现几个大红叉,煞是醒目,小生心头一紧,随即点开一一查看,同步失败!!!再深入一瞅,错误信息大致如:c(恕小生愚钝,详细信息已记不清了),此等怪事小生今生头回遇见,难道是时辰不对?可在小生去了趟WC回来后,错误依然,看来非时辰之过。
但此等错误小生也是生平头回遇见,为尽快解决战斗,先祭出黄金神器:百度!。将错误信息录入,神器抛出不少锦囊,小生花了整整三个小时逐一试用,无一能解!一招不行,小生遂又祭出终极神器:谷歌!苍天不辜,终极神器就是非同凡响,小生终于在一西域锦囊中发现了点端倪:@@servername!!!
小生这才想起,以前在订阅服务器上安装完SQLServer 后,改过机器名,遂打开查询分析器,输入:
select @@servername
靠!果然是他,查询结果显示的是我以前的机器名,问题八九不离十九出在此地,于是乎,小生将现在的机器名加入并除去旧机器名:
sp_dropserver '旧的机器名'
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
完毕,重新启动SQL,小生心想这下应该解决战斗。
启动完毕后,进入发布服务器,重新执行合并代理程序.........进行中......晕,又是红叉!小生的心如同落入冰窟,还好小生够坚强,打开错误信息,还好,原来的错误没了,不过一个新的错误诞生了:
进程未能在“Subscriber”上进行生成
错误详细信息:进程未能在“Subscriber”上进行生成。
(源: 合并复制提供程序 (代理程序); 错误代码: -2147200994)
---------------------------------------------------------------------------------------------------------------
无法将 NULL 值插入列 'nicknames',表 'scyz_ext.dbo.MSmerge_genhistory';该列不允许空值。INSERT 失败。
(源: DREAM (数据源); 错误代码: 515)
小生立即回到订阅服务器,查询@@servername,怪了,居然是'NULL’,难怪,遂重新执行命令:
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
提示:服务器 'DREAM' 已存在,小生一不做二不休,干脆删了重来:
sp_dropserver 'DREAM'
sp_addserver 'DREAM', 'local'(PS:Dream即是小生机器名)
然后再:select @@servername,终于把服务器名改过来了。
再回到发布服务器,重新执行合并代理程序,小生是双手紧拽,汗毛竖立,口念佛语。。。。。。。。
成功!终于成功,红叉消失,屏幕又恢复了往日的平静,似乎刚才的战斗从未发生过,再经过一番测试,完全正确,小生心头一块巨石终于落下,但是为何造成该错误仍然不明,还望高手指教。在此还要谢过那位不知名的西域壮士。
小生因百度类似问题,未见正确解决办法,所以在此写下,后来的仁兄如遇到同样问题,不妨一试,但小生也不能保证此法能解决类似问题。如不能解决,还望口下留情。
相关文章推荐
- 进程无法向表“"dbo"."XXX"”进行大容量复制,元数据查询失败,对于造型说明无效的字符值
- 装完sql server 后修改计算机名后不能进行发布的订阅的解决办法
- 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
- android生成apk包出现Unable to add "XXX" Zip add failed问题
- 装完sql后修改计算机名后不能进行发布的订阅的解决办法
- 讲一下SqlDataReader的关闭问题,出现"阅读器关闭时尝试调用 FieldCount 无效"
- 解决问题"未能从性能计数器获得进程信息"
- Entity Framework生成"CAST AS int"SQL语句的问题
- 出现未能加载文件或程序集“XXX.DAL.SQL"或它的某一个依赖项。系统找不到指定的文件
- 讲一下SqlDataReader的关闭问题,出现"阅读器关闭时尝试调用 FieldCount 无效"(转)
- android生成apk包出现Unable to add "XXX" Zip add failed问题
- MSSQL发布提示进程无法向表“"dbo"."某表名"”进行大容量复制,错误号MSSQL_REPL20037
- VS2010 clickonce发布错误:因为某项目未能生成,所以无法发布 非签名问题导致产生的错误
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" Java.sql.SQLException: 列名无效的问题
- Server SQL 发布复制事物时的错误提示:读取代理器未运行 进程无法在“WIN-XXX”上执行“sp_replcmds”
- .net项目配置文件导致runat="server"无效,不能自动生成声明代码的问题
- 装完sql后修改计算机名后不能进行发布的订阅的解决办法
- 关于sql语句"无效字符"的问题
- Missing iOS Distribution signing identity for "XXX" Interactive -- 开发证书和发布证书过期无效
- ------------装完sql后修改计算机名后不能进行发布的订阅的解决办法 ----------------