Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment changer le schéma d'un objet (table, vue, procédure stockée) dans la base de données SQL Server - Tutoriel SQL Server / TSQL Partie 28

Scénario :
Vous travaillez en tant que développeur SQL Server dans Life Insurance Company. Ils ont le nom de base de données TechBrothersIT et l'un des noms de schéma que les objets utilisent est TB. Ils vous ont donné pour mission de renommer le schéma en LIFE. Comment feriez-vous cela ?


Solution :

Il n'existe aucun moyen simple de renommer un schéma dans la base de données SQL Server. Nous devons suivre les étapes ci-dessous pour effectuer ce changement.
Étape 1 :Créer un nouveau schéma Créez un nouveau schéma avec le nom LIFE, nous pouvons utiliser le script ci-dessous.
Créer un schéma [LIFE]
 
 
 Étape 2 :Transférez les objets vers le nouveau schéma.  Nous pouvons utiliser le script ci-dessous pour transférer un seul objet (table, vue, procédure stockée, etc.) vers un nouveau schéma.
Utiliser DatabaseALTER SCHEMA NewSchemaTRANSFER OldSchema.ObjectNameGO

Disons que j'ai une table dans TB Schema et que je peux utiliser le script ci-dessous pour passer à Life Schema.

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

La requête ci-dessus doit être répétée pour chacun des objets à transférer du schéma TB au schéma LIFE. Nous pouvons utiliser la requête select ci-dessous pour générer notre requête Alter pour d'autres objets dans une base de données afin de transférer des objets d'un schéma à un autre.

Declare @SourceSchema VARCHAR(100)Declare @DestinationSchema VARCHAR(100 )SET @SourceSchema='TB'SET @DestinationSchema='LIFE'Select 'Alter Schema ['+@DestinationSchema+'] Transfer '
+@SourceSchema+'.['+nom+']' 
depuis sys.objectswhere schema_name(schema_id)=@SourceSchema
 
 Fournissez les valeurs des variables @SourceSchema et @DestinationSchema et la requête générera des instructions Alter pour vous. Copiez et exécutez dans votre fenêtre de requête. 

Remarque : Assurez-vous de tester les changements dans l'environnement de développement avant d'exécuter dans les environnements UAT et de production.



Démonstration vidéo :comment transférer des objets à partir d'un schéma à autre dans SQL Server