时间:2013/12/6 9:54:12来源:www.pc6.com作者:xy我要评论(0)
一台服务器重装系统后,用附加表再配置同步复制的时候出错:sql server 无法创建发布 找不到存储过程 错误 2812
在SQL SERVER 2005中,有数据库DB1,在A服务器上。由于要更换服务器,要把数据库DB1迁移到B服务器上。而DB1是用于同步复制的。粗心的你没有把同步复制(发布和订阅)删掉,就直接把DB1.mdf和DB1_log.ldf两个文件到B服务器上附加。附加成功了,原来的程序都能连接上,你以为大功告成。但是,几天过后,当你想把服务器重新同步复制,以作实时备份时,你发现自己的倒霉时刻到了。SQL SERVER 2005 像病了一样,只提示:“找不到存储过程’’…错误:2812”。
如果你的经历与以下的不完全一致,那么这篇文章可能也值得你参考。
但如果你的经历恰好一样,而且你在Google或Baidu上苦寻答案而不觅,那么,这篇文章或者能帮你一把。
如果数据库迁移后,数据并没有更新过。那么你的想法是把这个该死的数据库分离,然后再重新把去掉同步复制的干净的数据库迁移过来。但是,如果你的新数据库已经投入生产,那么,请参考我的方法:
打开B服务器上的DB1数据库的系统表,你会发现有12个表在里面。这12个表就是因同步复制而产生的,包括:
表/视图 | 有记录 | 复制必需 |
Mspeer_lsns | ||
Mspeer_request | ||
Mspeer_response | ||
Mspub_identity_range | ||
Sysarticlecolumns | 有 | 是 |
Sysarticles | 有 | 是 |
Sysarticlesupdates | 是 | |
syspublications | 有 | 是 |
Sysreplservers | 有 | |
Sysschemaarticles | 是 | |
Syssubscriptions | 有 | 是 |
systranschemas | ||
sysextendedarticlesview | 是 |
问题就出现在这里了。这12 个系统表和1个视图是因同步复制而生的,如果没有发生同步复制,他们是不会出现的。我们把mdf和ldf文件直接迁移过来,数据库里面的这些系统表和视图也随之而来了。
不能简单的把这12个系统表和1个视图删掉,这样同样不行。在经过了长时间的摸索后,我发现了问题的真正所在。
我们看一下系统表 sysreplservers的内容,有两列:
Srvname | Srvid |
旧服务器名称 | 0 |
终于找到了问题所在了。我们把该表的记录删除。
然后随便发布一次。
再把该发布删除。
至此,该数据库中的陈旧同步复制信息已经去除,数据库重新变得洁净可爱。
相关视频
相关阅读 Mac OS X 系统上如何升级 Mysql 数据库?PLSQL Developer怎么导出数据库PLSQL Developer配置Oralce11g连接plsql developer怎么使用 plsql developer使用教程plsql developer怎么连接数据库 plsql developer连接数据库教程SQL2008全部数据导出导入两种方法mysql数据库root密码忘记的修改方法SQL报表错误“未能为SSL/TLS安全通道建立信任关系”解决方法
热门文章 oracle10g安装图解(wi
最新文章
数据库流行度排行2019oracle10g安装图解(wi
SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能
人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程
查看所有0条评论>>