Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como alterar o esquema de um objeto (tabela, exibição, procedimento armazenado) no banco de dados SQL Server - Tutorial SQL Server / TSQL Parte 28

Cenário:
Você está trabalhando como desenvolvedor SQL Server na Life Insurance Company. Eles têm o nome do banco de dados TechBrothersIT e um dos nomes do esquema que os objetos estão usando é TB. Eles lhe deram a tarefa de renomear o esquema para LIFE. Como você faria isso?


Solução:

Não há uma maneira direta de renomear um esquema no Banco de Dados SQL Server. Precisamos seguir as etapas abaixo para fazer essa alteração.
Etapa 1:criar um novo esquema Crie um novo esquema com o nome LIFE, podemos usar o script abaixo.
Criar esquema [LIFE]
 
 
 Etapa 2:Transfira os Objetos para o Novo Esquema.  Podemos usar o script abaixo para transferir um único objeto (tabela, visualização, procedimento armazenado etc.) para um novo esquema.
Usar DatabaseALTER SCHEMA NewSchemaTRANSFER OldSchema.ObjectNameGO

Digamos que eu tenha uma tabela no TB Schema e eu possa usar o script abaixo para passar para o Life Schema.

Alter Schema [LIFE] Transfer TB.[test]; 

A consulta acima deve ser repetida para cada objeto a ser transferido do esquema TB para o esquema LIFE. Podemos usar a consulta de seleção abaixo para gerar nossa consulta Alter para outros objetos em um banco de dados para transferir objetos de um esquema para outro.

Declare @SourceSchema VARCHAR(100)Declare @DestinationSchema VARCHAR(100 )SET @SourceSchema='TB'SET @DestinationSchema='LIFE'Selecione 'Alterar esquema ['+@DestinationSchema+'] Transferir '
+@SourceSchema+'.['+name+']' 
de sys.objectswhere schema_name(schema_id)=@SourceSchema
 
 Forneça os valores das variáveis ​​@SourceSchema e @DestinationSchema e a consulta gerará instruções Alter para você. Copie e execute em sua janela de consulta. 

Observação: Certifique-se de testar as alterações no ambiente de desenvolvimento antes de executar em ambientes UAT e Produção.



Demonstração em vídeo:como transferir objetos de um esquema para outro no SQL Server