Pergunta

Eu tenho banco de dados que possui vários esquemas e objetos sob eles. Eu quero consolidar os objetos em um esquema.

eu tentei

ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>

Eu recebo um "objeto já existe mensagem". No entanto, não consigo ver no estúdio de gerenciamento e

SELECT * from dbo.<table_name>

Retorna o erro "Objeto não existe".

Parece que alguma entrada de tabela do sistema está fora de whack. Eu olhei para os SysoBjects e ele tem apenas uma entrada. Quaisquer sugestões sobre como soltar/ corrigir esse problema são bem -vindas.

Nota: Eu posso criar um sinônimo

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

funciona bem

Foi útil?

Solução

De acordo com Esta página do MSDN Seu problema pode ser causado por um Nome de chave primário duplicado. ou seja, o nome principal da sua tabela_name entra em conflito com um nome de chave primário já definido em outra tabela no DBO.

Para resolver esse problema, renomeie a chave primária para a tabela que você deseja mover. Use um nome que não apareça como uma chave primária no esquema de destino.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top