una tabla saber obtener name example esquema datos crear como cambiar sql-server sql-server-2008 tsql schema sql-server-2016

sql server - saber - ¿Cómo muevo una tabla a un esquema en T-SQL?



obtener esquema de base de datos sql server (2)

¿Quiero mover una tabla a un esquema específico usando T-SQL? Estoy usando SQL Server 2008.


Respuesta corta:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

Puedo confirmar que los datos de la tabla permanecen intactos, lo cual es probablemente muy importante :)

Respuesta larga según los documentos de MSDN ,

ALTER SCHEMA schema_name TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

Si se trata de una tabla (o cualquier otra cosa además de una colección de tipos o esquemas XML), puede omitir la palabra Objeto, ya que es el valor predeterminado.


ALTER SCHEMA TargetSchema TRANSFER SourceSchema.TableName;

Si desea mover todas las tablas a un nuevo esquema, puede utilizar el procedimiento almacenado sp_MSforeachtable no documentado (y para dejarlo en desuso en algún momento, pero es poco probable).

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

Ref .: ALTER SCHEMA

SQL 2008: ¿Cómo cambio el esquema db a dbo?