Blog
home > blog > Modificare l'owner delle tabelle di un database su SQL Server

Tag: SQL Server, TSQL

Modificare l'owner delle tabelle di un database su SQL Server

Vediamo un semplice script per generare l'sql per modificare l'owner di tutte le tabelle di un database in SQL Server.
di Maurizio Ceravolo
Alcune volte mi è capitato di dover lavorare su database non progettati da me ed in qualche caso le tabelle avevano un owner diverso dal classico dbo. Anzi ho trovato più di un owner nello stesso database.

In questi casi, a meno di non avere particolari vincoli sulla sicurezza, è più comodo riportare tutte le tabelle sotto lo stesso proprietario.

Il comando TSQL per farlo è l'ALTER SCHEMA, che però andrebbe scritto per ogni tabella nel database. Per evitare un lungo e noioso lavoro amanuense, possiamo farci aiutare dall'SQL.

SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + o.Name FROM sys.objects o INNER JOIN sys.Schemas s on o.schema_id = s.schema_id WHERE s.Name = 'NomeDatabase'


Dove nel codice c'è scritto NomeDatabase dovete mettere il nome del database su cui volete cambiare l'owner.
Questa query non esegue l'azione di modificare l'owner, bensì generara l'sql da eseguire per effettuare la modifica.
Copiandolo ed eseguendolo, otteniamo l'effetto desiderato.
Post correlati
2011
18
Marzo
TSQL: convertire un numero in esadecimale
Maurizio Ceravolo
Alle volte c'è la necessità di convertire un numero in esadecimale direttamente dalla fonte dati per generare dei codici colore da usare direttamente su una pagina web.
2011
4
Febbraio
Dimensioni di tutte le tabelle di un database SQL Server
Maurizio Ceravolo
Vediamo una stored procedure per calcolare le dimensioni, in numero di record ed in occupazione su disco, di dati ed indici di ogni tabella di un database su SQL Server.
2010
9
Dicembre
TSQL: concatenare più record senza usare un cursore
Maurizio Ceravolo
Concatenare più record di una tabella in un'unica stringa necessita un cursore, che però è poco performante. Vediamo un metodo tramite FOR XML PATH per concatenare con una query secca.
2010
28
Ottobre
Eseguire una query SQL da un SQL Server ad un altro
Maurizio Ceravolo
Esaminiamo il modo per eseguire query SQL fra database differenti e server differenti
2011
12
Ottobre
Ebook gratuito su SQL Server "Denali"
Maurizio Ceravolo
Microsoft distribuisce in anteprima e gratuitamente un estratto del libro digitale su SQL Server "Denali". Il libro completo sarà disponibile in primavera 2012.


Archivio Mensile Blog
Tag Cloud
Apple Facebook finanza fisica geek Google Google+ gps humor infografica innovazione iPhone Microsoft Motori di ricerca ottimizzazione Programmazione social network Spazio sql video
Ultimi Post
I migliori di oggi
I più popolari del mese
Top post