我想在我的数据库中更改系统表的名称是否可能?可能我不应该改变它,但我很好奇。
当我执行sp_rename
时,我收到以下错误:
Msg 15001,Level 16,State 1,Procedure sp_rename,404行 对象'cdc。[dbo_CdcTest_CT]'不存在或不是此操作的有效对象。
编辑: 我想更改由Change Data Capture创建的表的名称,因为我想禁用表的CDC机制并且仍然有数据 - 我知道我可以创建附加表并从CDC表移动数据但是更容易更改CDC的名称然后禁用指定表的cdc。
答案 0 :(得分:3)
否您无法更改系统表的名称。但是,您可以使用其他名称来引用它。
您可以使用synonyms:
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>
<object> :: =
{
[ server_name.[ database_name ] . [ schema_name_2 ].| database_name . [ schema_name_2 ].| schema_name_2. ] object_name
}
还要提到sp_rename
更改当前数据库中用户创建的对象的名称。
此对象可以是表,索引,列,别名数据类型或 Microsoft .NET Framework公共语言运行库