Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come modificare lo schema di un oggetto (tabella, vista, stored procedure) nel database di SQL Server - Tutorial SQL Server / TSQL Parte 28

Scenario:
Lavori come sviluppatore SQL Server in Life Insurance Company. Hanno il nome del database TechBrothersIT e uno dei nomi dello schema utilizzati dagli oggetti è TB. Ti hanno dato il compito di rinominare lo schema in LIFE. Come lo faresti?


Soluzione:

Non esiste un modo semplice per rinominare uno schema nel database di SQL ServerSQL Server. Dobbiamo seguire i passaggi seguenti per apportare questa modifica.
Passaggio 1:crea un nuovo schema Crea un nuovo schema con il nome LIFE, che possiamo usare sotto lo script.
Create Schema [LIFE]
 
 
 Fase 2:trasferisci gli oggetti nel nuovo schema.  Possiamo utilizzare lo script seguente per trasferire un singolo oggetto (tabella, vista, stored procedure ecc.) al nuovo schema.
Use Database
ALTER SCHEMA NewSchema
TRANSFER OldSchema.ObjectName
GO

Diciamo che ho una tabella in TB Schema e posso usare lo script seguente per passare a Life Schema.

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


La query precedente deve essere ripetuta per ogni oggetto da trasferire dallo schema TB allo schema LIFE. Possiamo utilizzare la query select di seguito per generare la nostra query Alter per altri oggetti in un database per trasferire oggetti da uno schema all'altro.

Declare @SourceSchema VARCHAR(100)
Declare @DestinationSchema VARCHAR(100)
SET @SourceSchema='TB'
SET @DestinationSchema='LIFE'
Select 'Alter Schema ['+@DestinationSchema+'] Transfer '
+@SourceSchema+'.['+name+']' 
from sys.objects
where schema_name(schema_id)=@SourceSchema
 
 Fornisci i valori delle variabili @SourceSchema e @DestinationSchema e la query genererà le istruzioni Alter per te. Copia ed esegui nella tua finestra Query. 

Nota: Assicurati di testare le modifiche nell'ambiente di sviluppo prima di eseguire in UAT e ambienti di produzione.



Video demo:come trasferire oggetti da uno schema ad altri in SQL Server