sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo cambiar el esquema de un objeto (tabla, vista, procedimiento almacenado) en la base de datos de SQL Server - Tutorial de SQL Server / TSQL, parte 28

Escenario:
Está trabajando como desarrollador de SQL Server en Life Insurance Company. Tienen el nombre de base de datos TechBrothersIT y uno de los nombres de esquema que utilizan los objetos es TB. Le asignaron la tarea de cambiar el nombre del esquema a LIFE. ¿Cómo haría eso?


Solución:

No existe una forma sencilla de cambiar el nombre de un esquema en la base de datos de SQL Server. Tenemos que seguir los pasos a continuación para realizar este cambio.
Paso 1:Crear un nuevo esquema Cree un nuevo esquema con el nombre LIFE, podemos usar el siguiente script.
Create Schema [LIFE]
 
 
 Paso 2:transfiera los objetos al nuevo esquema.  Podemos usar el siguiente script para transferir un solo objeto (tabla, vista, procedimiento almacenado, etc.) a un nuevo esquema.
Use Database
ALTER SCHEMA NewSchema
TRANSFER OldSchema.ObjectName
GO

Digamos que tengo una tabla en TB Schema y puedo usar el siguiente script para pasar a Life Schema.

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


La consulta anterior debe repetirse para cada uno de los objetos a transferir del esquema TB al esquema LIFE. Podemos usar la siguiente consulta de selección para generar nuestra consulta Alter para otros objetos en una base de datos para transferir objetos de un esquema a otro.

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
 
 Proporcione los valores de las variables @SourceSchema y @DestinationSchema y la consulta generará instrucciones Alter para usted. Copie y ejecute en su ventana de consulta. 

Nota: Asegúrese de probar los cambios en el entorno de desarrollo antes de ejecutarlos en entornos UAT y de producción.



Demostración en video:cómo transferir objetos de un esquema a otro en SQL Server