2

我想运行以下重命名

EXECUTE sp_rename N'dbo.Semesters.IsPublic', N'Tmp_ShowNCs', 'COLUMN' 

我得到错误

Msg 4928, Level 16, State 1, Procedure sp_rename, Line 547
Cannot alter column 'IsPublic' because it is 'REPLICATED'.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command.  The results, if any, should be discarded.

我已为此表启用变更数据捕获 (CDC)。可能这就是为什么这个专栏被“复制”的原因。SSMS 显示已复制 = 是。

所以我想知道这是正常的还是错误的。我想保留 CDC,但重命名此列。除了删除现有 CDC 信息并重新启用 CDC 之外,我还有其他选择吗?

4

1 回答 1

1

你做错了顺序。您必须关闭表上的 CDC(数据库上的 CDC 已打开),然后更改列,然后打开表上的 CDC。要撤消您的问题,您必须打开数据库上的 CDC,然后打开表,关闭表上的 CDC,重命名列,打开表上的 CDC。

于 2010-04-22T02:57:38.083 回答