重命名列返回错误

时间:2015-10-12 11:57:42

标签: sql-server sql-server-2012

我尝试使用this procedure重命名SQL Server中命名错误的列。生成的语句似乎正确:
EXEC sp_rename '[TBL_TAXREPORTtestxxx].["InsertedOn"]', 'InsertedOn', 'COLUMN'

然而,这给了我以下错误:

Msg 15248, Level 11, State 1, Procedure sp_rename, Line 266
Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong.

有任何线索吗?

1 个答案:

答案 0 :(得分:0)

选项1:您可以尝试检查是否在正确的数据库中运行查询。

选项2:如果是,请尝试以下操作:

EXEC sp_rename 
@objname = 'TBL_TAXREPORTtestxxx."[InsertedOn]"',   --or @objname = 'TBL_TAXREPORTtestxxx."InsertedOn"'
@newname = 'InsertedOn', 
@objtype = 'COLUMN'

选项3:如果上述操作也失败,那么您可以尝试创建一个所有名称都正确的新表,并将现有表中的数据复制到新表中并删除前一个表。最后重命名表。

修改

选项4:正如Gordon在评论中所说,您可能还想检查架构。

EXEC sp_rename 
@objname = '[dbo].TBL_TAXREPORTtestxxx."[InsertedOn]"',   
@newname = 'InsertedOn', 
@objtype = 'COLUMN'