Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server在对已删除的表进行合并复制期间生成错误_Sql Server_Replication - Fatal编程技术网

Sql server SQL Server在对已删除的表进行合并复制期间生成错误

Sql server SQL Server在对已删除的表进行合并复制期间生成错误,sql-server,replication,Sql Server,Replication,我向合并复制的数据库中添加了一个表tblJoinCustBlastList,现在在复制过程中出现以下失败错误: 错误消息: 架构脚本“if object_id(N'[dbo].[tblJoinCustBlastlist]”不是null exec('ALTER TABLE[dbo].[tblJoinCustBlastlist]ADD CONSTRAINT PK\u tblJoinCustBlastlist主键集群(JoinID)),并在[PRIMARY]上加上(STATISTICS\u norec

我向合并复制的数据库中添加了一个表tblJoinCustBlastList,现在在复制过程中出现以下失败错误:

错误消息:

架构脚本“if object_id(N'[dbo].[tblJoinCustBlastlist]”不是null exec('ALTER TABLE[dbo].[tblJoinCustBlastlist]ADD CONSTRAINT PK\u tblJoinCustBlastlist主键集群(JoinID)),并在[PRIMARY]上加上(STATISTICS\u norecocomputer=OFF,IGNORE\u DUP\u KEY=OFF,ALLOW\u ROW\u LOCKS=ON,ALLOW\u PAGE\u LOCKS=ON)

无法将“)”传播到订阅服务器。(来源:MSSQL_REPL,错误号:MSSQL_REPL-2147201001)获取帮助:表“tblJoinCustBlastlist”上已定义主键。(来源:MSSQLServer,错误号:1779)获取帮助:无法创建约束。请参阅前面的错误。(来源:MSSQLServer,错误号:1750)获取帮助:

所有的帮助链接都已失效。导致复制失败的表(rblJoinCustBlastList)只有3个字段:

JoinID-int-主键-无空值

fkCustID-int-无空值

fkBlastListID-int-无空值

和系统创建的字段Rowguid-uniqueidentifier


对于我自己的疑难解答,我从要复制的文章中删除了这个表,然后甚至从数据库中删除了整个表。当我再次尝试同步以查看错误是否清除时,我收到了完全相同的消息!为什么它会给我一个表上的错误,这个表甚至不应该被复制,甚至被删除?我该如何解决这个问题?请帮助一个新手,我的用户现在都无法同步…

这不是问题的完美答案,但最简单的解决方案可能是从一个新的快照开始,并将其推送到主机上

当您有很多复制主机时,我发现Merge通常会进行循环,因此,如果您在进行架构更改时没有从新快照开始,那么从服务器添加/删除的更改将循环进行数周

错误是

-无法为临时快照文件创建目录 1779-尝试向具有主键的表添加主键时的消息
1750-当您尝试创建约束失败时的消息

我通过从订阅服务器中删除表tbljoincustblastlist修复了它。我已经从发布服务器中删除了这个表,但没有从订阅服务器中删除,并且不知何故导致了一个错误,我认为它与主键约束有关。唷

多谢各位。“新建快照”是指我必须将发布服务器的原样快照应用于所有订阅服务器,并使它们丢失自上次同步以来的所有数据,如重新初始化?我希望不是这样,因为有很多数据会丢失。架构更改后,我确实向发布服务器运行了快照代理,但这并没有解决问题。错误消息使我感到困惑,因为我没有对约束执行任何操作,也没有尝试向已经有主键的表中添加主键。即便如此,为什么我会在删除有问题的表时收到此消息?我在合并复制方面的经验是,模式更改有一个讨厌的习惯,就是在订阅者周围滚动。这样一来,只要我们能够重新发布快照,我们就只需要更改模式,因为我们发现订阅服务器系统上出现并消失了表。您应该能够很容易地解决目录/空间问题。就表格问题而言。您可以使用(sp_scriptpublicationcustomprocs)获取修复订阅服务器数据库所需的脚本。真的吗,架构更改会导致复制问题?!“错误”的复制问题正是我们离开Access的原因,我没想到SQL server会出现这种情况。谢谢你的警告。所以我没办法解决这个问题?我将研究插入、更新和删除脚本,但我想将其作为绝对的最后手段。