西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页西西教程数据库教程 → SQL2005在新建复制 找不到存储过程 错误:2812 的解决方法 .

SQL2005在新建复制 找不到存储过程 错误:2812 的解决方法 .

相关软件相关文章发表评论 来源:西西整理时间:2013/3/25 20:06:31字体大小:A-A+

作者:西西点击:0次评论:2次标签: SQL2005

sql2005查询分析器官方安装版
  • 类型:数据库类大小:36.0M语言:中文 评分:1.2
  • 标签:
立即下载

一台服务器重装系统后,用附加表再配置同步复制的时候出错:

sql server 无法创建发布 找不到存储过程 错误 2812

 

SQL SERVER 2005中,有数据库DB1,在A服务器上。由于要更换服务器,要把数据库DB1迁移到B服务器上。而DB1是用于同步复制的。粗心的你没有把同步复制(发布和订阅)删掉,就直接把DB1.mdfDB1_log.ldf两个文件到B服务器上附加。附加成功了,原来的程序都能连接上,你以为大功告成。但是,几天过后,当你想把服务器重新同步复制,以作实时备份时,你发现自己的倒霉时刻到了。SQL SERVER 2005 像病了一样,只提示:“找不到存储过程’’…错误:2812

       如果你的经历与以下的不完全一致,那么这篇文章可能也值得你参考。

       但如果你的经历恰好一样,而且你在GoogleBaidu上苦寻答案而不觅,那么,这篇文章或者能帮你一把。

       如果数据库迁移后,数据并没有更新过。那么你的想法是把这个该死的数据库分离,然后再重新把去掉同步复制的干净的数据库迁移过来。但是,如果你的新数据库已经投入生产,那么,请参考我的方法:

       打开B服务器上的DB1数据库的系统表,你会发现有12个表在里面。这12个表就是因同步复制而产生的,包括:   

/视图

有记录

复制必需

Mspeer_lsns

 

 

Mspeer_request

 

 

Mspeer_response

 

 

Mspub_identity_range

 

 

Sysarticlecolumns

Sysarticles

Sysarticlesupdates

 

syspublications

Sysreplservers

 

Sysschemaarticles

 

Syssubscriptions

systranschemas

 

 

sysextendedarticlesview

 

        问题就出现在这里了。这12 个系统表和1个视图是因同步复制而生的,如果没有发生同步复制,他们是不会出现的。我们把mdfldf文件直接迁移过来,数据库里面的这些系统表和视图也随之而来了。

       不能简单的把这12个系统表和1个视图删掉,这样同样不行。在经过了长时间的摸索后,我发现了问题的真正所在。

       我们看一下系统表 sysreplservers的内容,有两列:

Srvname

Srvid

旧服务器名称

0

       终于找到了问题所在了。我们把该表的记录删除。

       然后随便发布一次。

       再把该发布删除。

       至此,该数据库中的陈旧同步复制信息已经去除,数据库重新变得洁净可爱。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    第 1 楼 陕西西安西安交通大学第二附属医院 网友 客人 发表于: 2013/9/1 9:33:05
    帮我解决了大问题。 SQL 2005 换服务器后是把原来的表附加过来的结果再做复制就搞不了了,删除同步也不行。

    支持( 0 ) 盖楼(回复)

    发表评论 查看所有评论(2)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)