Domanda

Voglio spostare un tavolo in uno schema specifico utilizzando T-SQL? Sto usando SQL Server 2008.

È stato utile?

Soluzione

ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

Se si desidera spostare tutti tabelle in un nuovo schema, è possibile utilizzare il non documentato (e da deprecato a un certo punto, ma improbabile!) sp_MSforeachtable stored procedure:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

ALTER SCHEMA

SQL 2008: come fare cambio db schema di dbo

Altri suggerimenti

Risposta breve:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

Posso confermare che i dati nella tabella rimane intatto, che è probabilmente molto importante:)

Risposta lunga come documentazione per MSDN ,

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

Se si tratta di una tabella (o qualcosa oltre ad una collezione di tipo o XML Schema), è possibile lasciare la parola oggetto dato che è il default.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top