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.
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.