6

我有一个数据库,它下面有多个模式和对象。我想将对象合并到一个模式中。

我试过

ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>

我得到一个

对象已存在消息

但是,我在 Management Studio 中看不到它,并且

SELECT * from dbo.<table_name>

返回

对象不存在。

看起来某些系统表条目不正常。我查看了 sysobjects,它只有一个 . 欢迎任何有关如何解决/解决此问题的建议。

注意:我可以创建同义词

CREATE SYNONYM dbo.<table_name> FOR <custom_schema>.<table_name>

工作正常

4

1 回答 1

14

根据这个 MSDN 页面,您的问题可能是由重复的主键名称引起的。即您的table_name 的主键名称与已在dbo 中的某个其他表中定义的主键名称冲突。

To resolve this issue, rename the primary key for the table that you want to move. Use a name that does not appear as a primary key in the destination schema.

于 2011-04-28T18:30:56.163 回答