是否可以更改系统表的名称

时间:2014-02-24 09:32:15

标签: sql-server sql-server-2012

我想在我的数据库中更改系统表的名称是否可能?可能我不应该改变它,但我很好奇。

当我执行sp_rename时,我收到以下错误:

  

Msg 15001,Level 16,State 1,Procedure sp_rename,404行   对象'cdc。[dbo_CdcTest_CT]'不存在或不是此操作的有效对象。

编辑: 我想更改由Change Data Capture创建的表的名称,因为我想禁用表的CDC机制并且仍然有数据 - 我知道我可以创建附加表并从CDC表移动数据但是更容易更改CDC的名称然后禁用指定表的cdc。

1 个答案:

答案 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公共语言运行库