app教程网 学习教程 sql文件无法复制(sqlplus里复制不了)

sql文件无法复制(sqlplus里复制不了)

服务器重新安装系统后,使用附加表配置同步复制时出错:

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

在SQL SERVER 2005中,有一个数据库DB1,它位于服务器上。因为服务器需要更换,所以数据库DB1应该迁移到B服务器。DB1用于同步复制。不小心,你没有删除同步复制(发布和订阅)。

把DB1.mdf和DB1_log.ldf这两个文件直接附加到B服务器上就行了。附件成功,原程序可以连接。你以为你完了。但是,几天后,当您想要重新同步服务器以进行实时备份时,

你发现自己正处于一个糟糕的时期。SQL SERVER 2005像生病一样,只提示:“存储过程未找到”…错误:2812”。

如果你的经历和下面的不完全一致,那么这篇文章或许也值得你参考。

但是如果你的经历完全一样,并且你正在谷歌或者百度上搜索答案,那么这篇文章可能会对你有所帮助。

如果数据在数据库迁移后没有更新。所以你的想法就是把这个该死的数据库分离出来,然后迁移干净的数据库,不用同步复制。但是,如果您的新数据库已经投入生产,请参考我的方法:

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

这就是问题所在。这12个系统表和1个视图是由同步复制生成的。如果同步复制没有发生,它们将不会出现。我们直接迁移mdf和ldf文件,数据库中的这些系统表和视图紧随其后。

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

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

终于发现问题了。我们删除该表的记录。

然后随意发表。

然后删除发布。

至此,数据库中旧的同步复制信息已经被删除,数据库又变得干净可爱了。

本文来自网络,不代表本站立场,转载请注明出处:https: