Cenário:
Você está trabalhando para a Mortgage Company como desenvolvedor do SQL Server. Você tem este requisito para preparar o script SQL para descartar o esquema. Você usaSoltar Schema SchemeName
instrução em desenvolvimento SQL Server Instance e erro abaixo.
Não é possível descartar o esquema '', pois ele não existe ou você não tem permissão.
Quais seriam seus próximos passos?
Solução:
Pode haver algumas razões para o erro acima. Um, você realmente não tem permissão para descartar o Schema. Você verificou com o DBA e ele confirmou que você tem todas as permissões para fazer essa alteração. Agora você olhou mais para ele e notou que existem objetos como tabelas, visualizações etc. que estão usando este esquema.A partir daqui você pode propor duas soluções.
1) Solte todos os objetos Relacionado ao Esquema e, em seguida, Elimine o Esquema (Pode haver cenários em que alguém estava usando este esquema e objetos. Agora ninguém mais precisa usar o esquema e objetos relacionados a ele. Então você discutirá com sua equipe e se eles disserem que prepare o script de descarte para objetos e esquema. Você pode usar as janelas Detalhes do Pesquisador de Objetos para gerar scripts de soltar objetos.
2) Você deseja manter os objetos e movê-los para um esquema diferente. Talvez dbo ou qualquer novo esquema. Após transferir os objetos, você deseja excluir o esquema.
Abaixo Query pode ser usado para gerar script para Transferir objetos.
Declare @SourceSchema VARCHAR(100) Declare @DestinationSchema VARCHAR(100) SET @SourceSchema='TB' SET @DestinationSchema='dbo' Select 'Alter Schema ['+@DestinationSchema+'] Transfer '+@SourceSchema+'.['+name+']'
from sys.objects where schema_name(schema_id)=@SourceSchema
Copie os scripts gerados e execute em um banco de dados. Uma vez feito, agora você pode descartar o Schema usando Drop Schema SchemaName Demonstração.