martedì 27 settembre 2011

SQL - Metodo veloce per cambiare schema in un database

Questo è un sistema veloce per reimpostare lo schema dbo su tutte le tabelle, le viste e le procedure di un database.

Aprite SQL Server menagement Studio, aprite una nuova query vuota e impostate la Visualizzazione dei risultati in formato Testo (Scorciatoia: CTRL+T)

eseguite questa query:

SELECT 'ALTER SCHEMA dbo TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.tables
WHERE schema_id != SCHEMA_ID('dbo')

UNION ALL
SELECT 'ALTER SCHEMA dbo TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.views
WHERE schema_id != SCHEMA_ID('dbo')

UNION ALL
SELECT 'ALTER SCHEMA dbo TRANSFER ' + SCHEMA_NAME(schema_id) + '.' + name
FROM sys.procedures
WHERE schema_id != SCHEMA_ID('dbo');


Copiate ed incollate il risultato ottenuto in una nuova finestra query, eseguitela ed il gioco è fatto.

Ovviamente se modificate i comandi sopra potete crearvi una query ad hoc per cambiare anche schemi non gpo.

Nessun commento:

Posta un commento