ALTERSCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Si desea mover todas las tablas a un nuevo esquema, puede usar el sp_MSforeachtableprocedimiento almacenado indocumentado (¡y en desuso en algún momento, pero poco probable!) :
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
ALTERSCHEMA schema_name
TRANSFER [ Object | Type |XMLSchema Collection ] securable_name [;]
Si se trata de una tabla (o cualquier otra cosa que no sea una colección de Tipo o Esquema XML), puede omitir la palabra Objeto, ya que ese es el valor predeterminado.
¿Por qué el voto negativo para mi respuesta correcta? Comprueba el mío con la respuesta aceptada, que es la misma, y ya tiene 257 votos a favor (incluido el mío).
Ingeniero invertido
2
Tengo un voto positivo para confirmar que los datos permanecen intactos, lo que acaba de salvar mi presión arterial ... :)
66
@DaveBoltnman: ingresó una respuesta 6 años después de la respuesta aceptada y con su propio comentario arriba "que es lo mismo".
Mitch Wheat
44
¿Por qué los datos en una tabla no permanecerían intactos solo porque la tabla se mueve a un contenedor de esquema diferente?
Mitch Wheat
2
bonito cambio de nombre @DaveBoltman. Contestar viejas preguntas es genial, cuando agregan algo a las respuestas existentes.
Respuestas:
Si desea mover todas las tablas a un nuevo esquema, puede usar el
sp_MSforeachtable
procedimiento almacenado indocumentado (¡y en desuso en algún momento, pero poco probable!) :Árbitro.:
ALTER SCHEMA
SQL 2008: ¿Cómo cambio el esquema db a dbo?
fuente
Respuesta corta:
Puedo confirmar que los datos en la tabla permanecen intactos, lo que probablemente sea bastante importante :)
Respuesta larga según los documentos de MSDN ,
Si se trata de una tabla (o cualquier otra cosa que no sea una colección de Tipo o Esquema XML), puede omitir la palabra Objeto, ya que ese es el valor predeterminado.
fuente