小编tra*_*max的帖子

重命名 Azure 上的主键约束

我正在尝试更改 Azure 存储中表的主键。计划是创建一个新表,移动数据并删除旧表。问题是我需要所有约束名称都与旧的相同。

因此,在重命名旧表和该表上的所有约束之前,我无法创建新表。我已经在约束上尝试过 sp_rename,但没有运气:

sp_rename 'PK_dbo.ContactSessions', 'PK_dbo.ContactSessions_old', 'OBJECT'
Run Code Online (Sandbox Code Playgroud)

给我:

Either the parameter @objname is ambiguous or the claimed @objtype (OBJECT) is wrong.
Run Code Online (Sandbox Code Playgroud)

如果我像这样运行 sp_rename:

sp_rename 'PK_dbo.ContactSessions', 'PK_dbo.ContactSessions_old'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

No item by the name of 'PK_dbo.ContactSessions' could be found in the current database 'testing_only', given that @itemtype was input as '(null)'.
Run Code Online (Sandbox Code Playgroud)

我看过这个帖子:如何更改 SQL Azure 上的现有主键? 并尝试

create clustered index [NEW_INDEX_NAME] on [ContactSessions] ([ContactSessionId]) 
    with (drop_existing=on);
Run Code Online (Sandbox Code Playgroud)

并得到错误:

Could not find any index named 'NEW_INDEX_NAME' for table 'ContactSessions'.
Run Code Online (Sandbox Code Playgroud)

还有其他选项可以更改索引名称吗?

我知道这是可能的,因为我可以右键单击 SSMS …

sql-server azure-sql-database

7
推荐指数
1
解决办法
6587
查看次数

标签 统计

azure-sql-database ×1

sql-server ×1