首页 分享 “找不到存储过程’’ … 错误:2812”的解决方法

“找不到存储过程’’ … 错误:2812”的解决方法

来源:萌宠菠菠乐园 时间:2024-12-24 17:44

    先声明一下产生该错误的原因:

       在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的内容,有两列:

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

       然后随便发布一次。

       再把该发布删除。

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

本文章来自

http://blog.csdn.net/rqzhong/archive/2008/11/19/3332673.aspx

相关知识

关于mysql存储过程的definer的问题1
Java中常见的问题,以及相应的解决方法
什么情况会出现“executeUpdate, Exception = null”这样的错误?
小猫乱跑找不到了怎么办
“图像后期处理失败。可能服务器忙或没有足够的资源。请尝试上传较小的文件。推荐的最大尺寸为2560像素。”错误的解决方法
训练小狗常见的4种错误方式,幼犬错误训练
【中文字幕】马术教程 • 骑手易犯的坐姿错误与解决方法
【mybatis调用存储过程】传多个参数并返回多个字段
大白熊犬喜欢乱咬东西的原因及解决方法
找不到网络路径。

网址: “找不到存储过程’’ … 错误:2812”的解决方法 https://www.mcbbbk.com/newsview852621.html

所属分类:萌宠日常
上一篇: DC漫画中的7个组合,包含超人的
下一篇: 宠物食品公司经营范围(23个范本

推荐分享