Sql server 参数@objname不明确或声明的@objtype(索引)错误
使用SQL Server 2016,当我运行以下命令时:Sql server 参数@objname不明确或声明的@objtype(索引)错误,sql-server,sql-server-2016,Sql Server,Sql Server 2016,使用SQL Server 2016,当我运行以下命令时: SELECT * FROM sys.indexes WHERE name = 'idx_Parts_PartNum' 有一个结果。正如所料。但在同一数据库上运行时: exec sp_rename N'idx_Parts_PartNum', N'ux_Parts_PartNum', N'INDEX' 我得到这个错误: 参数@objname不明确或声明的@objtype(索引)错误 如果第一个查询显示此索引名是正确的,那么是什
SELECT *
FROM sys.indexes
WHERE name = 'idx_Parts_PartNum'
有一个结果。正如所料。但在同一数据库上运行时:
exec sp_rename N'idx_Parts_PartNum', N'ux_Parts_PartNum', N'INDEX'
我得到这个错误:
参数@objname不明确或声明的@objtype(索引)错误
如果第一个查询显示此索引名是正确的,那么是什么导致此错误
我在谷歌上搜索过,运气不好。我的索引名不包含无效字符或保留字
注意:这是作为唯一索引而不是唯一约束创建的
我可以使用SQL Server Management Studio无误地重命名索引。您需要提供索引的完整路径,如文档中所示:
创建表dbo.YourTable(ID int);
去
在dbo.YourTable(ID)上创建唯一索引IX_YourIndex;
去
EXEC sp_重命名N'dbo.YourTable.IX_yourdex',N'UX_yourdex','INDEX'--模式、表、索引
去
删除表dbo.YourTable;
您需要给出索引的完整路径,如文档中所示:
创建表dbo.YourTable(ID int);
去
在dbo.YourTable(ID)上创建唯一索引IX_YourIndex;
去
EXEC sp_重命名N'dbo.YourTable.IX_yourdex',N'UX_yourdex','INDEX'--模式、表、索引
去
删除表dbo.YourTable;
哦,我明白了。谢谢。不客气@DeveloperWebs。如果这回答了问题,请接受它作为解决方案,以便将来的读者知道它是有帮助的。谢谢我还建议你在其他问题上也这样做,因为你只有64个问题。我读了MS的例子,我想我误解了它是。。。现在我明白了……哦,我明白了。谢谢。不客气@DeveloperWebs。如果这回答了问题,请接受它作为解决方案,以便将来的读者知道它是有帮助的。谢谢我还建议你在其他问题上也这样做,因为你只有64个问题。我读了MS的例子,我想我误解了它是。。。现在我明白了。。