SQL Server多个架构对象问题

shi*_*mbu 4 sql-server schema alter synonym

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

我试过了

ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>
Run Code Online (Sandbox Code Playgroud)

我得到一个"对象已经存在的消息".但是,我无法在管理工作室中看到它

SELECT * from dbo.<table_name>
Run Code Online (Sandbox Code Playgroud)

返回"对象不存在"错误.

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

注意:我可以创建一个同义词

CREATE SYNONYM dbo.<table_name> FOR <custom_schema>.<table_name>
Run Code Online (Sandbox Code Playgroud)

工作良好

Jef*_*sen 11

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

若要解决此问题,请重命名要移动的表的主键.使用在目标架构中不显示为主键的名称.