无法删除表< TableName>,因为它正被用于复制

hc2pp10m  于 2022-09-18  发布在  Java
关注(0)|答案(2)|浏览(403)

我无法修改数据库中表的结构。用于复制的数据库。我收到了这个错误

ioekq8ef

ioekq8ef1#

如错误所示,该表用于复制,这意味着它是复制发布服务器中的一个项目。为了能够修改该表,您应该将其从复制中删除,然后更新架构,然后在复制中再次添加它。在再次添加之后,您将不得不重新初始化订阅以获取修改后的表架构。

xyhw6mcr

xyhw6mcr2#

我在复制时出现此错误
无法删除表‘dbo.epl_APPLICATION_CAMP_CHOICE’,因为它正被用于复制。(来源:MSSQLServer,错误号:3724)

我尝试的第一件事--错误地--是手动删除订阅者数据库中的表。

但同样的错误也在那里。

我尝试的下一件事是:

USE [ORCASTG]
GO
EXEC sp_msunmarkreplinfo 'dbo.repl_application_camp_choice'

--Msg 3724, Level 16, State 3, Line 5
--Cannot drop the table 'dbo.repl_application_camp_choice' because it is being used for replication.

但它并没有奏效

然后我试了一下这个:

USE [ORCASTG]
GO
DECLARE @subscriptionDB AS sysname  
SET @subscriptionDB = N'ORCASTG'  

USE master  
EXEC sp_removedbreplication @subscriptionDB  
GO  

USE [ORCASTG]
GO
DROP TABLE IF EXISTS [dbo].[repl_application_camp_choice]
GO

这就起到了作用

在运行上面的脚本之后:

我还看了hereherehere

相关问题