Capita, di frequente, di avere la necessità di stabilire quale sia stata la cronologia delle modifiche effettuate agli oggetti di un database, ad esempio alle Stored Procedure. Lo script restituisce la cronologia di modifica a tutti gli oggetti o, a particolari tipologie di oggetti. Se si vuole ottenere la cronologia di modifica delle SP basta inserire nella sezione di assegnazione delle variabili l'istruzione SET @obj_type='P'. Se il database in esame prevede l'uso degli oggetti di supporto per il diagramming l'elenco delle SP include anche SP come sp_creatediagram etc., che appartengono, di default, allo schema dbo. Viene adottato un criterio di ordinamento per data modifica e tipo oggetto, ma il criterio è personalizzabile cambiando il valore di @sqlord.
Leggi »Scripts
Oggetti che dipendono da una tabella: DROP e ADD FOREIGN KEY CONSTRAINT
Individuare i comandi per eliminare e ricreare le dipendenze (FOREIGN KEY) da una tabella alterando gli oggetti che dipendono da essa.
Leggi »Verificare la presenza di indici identici / duplicati
Qual è il rischio in cui si può incorrere quando un progetto viene sviluppato da più persone, ovvero quando un database viene modellato da più mani? Creare un indice che esiste già! :-( SQL Server non fa nulla per venirci in aiuto o, almeno, non fa nulla in automatico. Con questo script è possibile ottenere una lista degli indici identici / duplicati.
Leggi »Indici doppi: un sovraccarico inutile
Una stored procedure per determinare ed eliminare i casi di doppia, tripla, ..., indicizzazione sul medesimo attributo
Leggi »Aggiornare una tabella pivot di Microsoft Excel
Utilizzo di OLE Automation Stored Procedures (sp_OA*) per aggiornare i dati di una tabella pivot
Leggi »Conoscere la data/ora dell’ultimo user UPDATE su una tabella
Utilizzo della DMV sys.dm_db_index_usage_stats per conoscere la data/ora dell'ultimo user UPDATE.
Leggi »Indicizzazione dei vincoli FOREIGN KEY
Una stored procedure per determinare e generare un indice (nonclustered) per ogni FOREIGN KEY CONSTRAINT
Leggi »Split ordinato di una colonna di tipo VarChar
Divisione di una colonna di tipo VarChar, output ordinato su due colonne. Senza l'utilizzo di cursori
Leggi »Svuotare un database: un meccanismo automatico
Può capitare, per diversi motivi, di avere la necessità di svuotare un database per riportarlo allo stato "iniziale". Per stato "iniziale" intendo il momento dell'installazione: nessuna riga (se non in eventuali tabelle che devono essere già popolate) e con i contatori delle colonne autoincrementanti a zero.
Leggi »Deframmentazione indici
Utilizzo di DBCC SHOWCONTIG, DBCC INDEXDEFRAG e DBCC DBREINDEX per eseguire la deframmentazione degli indici di un database.
Leggi »