SQLServer2005数据库出现找不到存储过程的破解

此文章主要向大家讲述的是SQL Server 2005数据库“找不到存储过程’ … 错误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个表就是因同步复制而产生的,包括:

表/视图 有记录 复制必须

 
 
 
  1. Mspeer_lsns   
  2. Mspeer_request   
  3. Mspeer_response  
  4. Mspub_identity_range   
  5. Sysarticlecolumns 有 是   
  6. Sysarticles 有 是   
  7. Sysarticlesupdates 是   
  8. syspublications 有 是   
  9. Sysreplservers 有   
  10. Sysschemaarticles 是   
  11. Syssubscriptions 有 是   
  12. systranschemas   
  13. sysextendedarticlesview 是  

 

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

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

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

 
 
 
  1. Srvname Srvid  

旧服务区名称 0

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

然后随便发布一次。

再把该发布删除。

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

以上的相关内容就是对SQL Server 2005数据库“找不到存储过程’’ … 错误:2812”的解决方法的介绍,望你能有所收获。

【编辑推荐】

  1. SQL Server 2008数据格式修改时应注意什么?
  2. SQL Server存储过程之新手导航
  3. SQL Server 2005降级到2000的正确操作步骤
  4. SQL Server自增字段插入值的步骤
  5. SQL Server数据库查看数据库用户权限很简单

当前题目:SQLServer2005数据库出现找不到存储过程的破解
当前路径:http://www.shufengxianlan.com/qtweb/news31/429231.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联