T-Sql

Conoscere la data/ora dell'ultimo user UPDATE su una tabella

Sergio Govoni

Come posso conoscere la data e l’ora dell’ultimo UPDATE eseguito su una tabella da parte di un utente ?

Una delle DMVs (Index Related Dynamic Management Views and Functions), disponibili dalla versione 2005 di SQL Server, ci permette di rispondere a questa domanda.

Possiamo infatti utilizzare la DMV sys.dm_db_index_usage_stats che con i sui differenti contatori, basati sulle operazioni eseguite sugli indici, ci permette di conoscere, ad esempio, la data e l’ora dell’ultimo comando UPDATE eseguito su una determinata tabella.

Microsoft TechDays WPC 2008

Davide Mauri

Microsoft TechDays-WPC 2008 offrirà opportunità di formazione e aggiornamento professionale di elevato profilo su tutto il panorama delle tecnologie Microsoft, con un’agenda di 68 sessioni teorico-pratiche tenute da speaker selezionati tra i migliori esperti Microsoft e tra i professionisti maggiormente riconosciuti sul mercato. 

Per maggior informazioni su agenda, costi ed iscrizioni, il sito alla quale fare rifermento è:

Posso spostare un set righe con un'unica istruzione?

Davide Mauri

L’uso della calusola OUTPUT nel comando di DELETE, fornisce una valida e più compatta alternativa allo spostamento transazionale di un set di righe.

Date due tabelle [T_Source] e [T_Target], con la frase “spostare un set di righe da T_Source a T_Target” intendiamo la sequenza di operazioni:

  1. copia le righe interessate di [T_Source] in [T_Target]
  2. elimina le righe interessate da [T_Source]

Il tutto compreso in una transazione con gestione dell’errore.

Come eliminare un utente di database che sia owner di uno schema

Davide Mauri

Cosa accade se tento di eliminare un utente di database che sia owner di uno schema? Semplicemente mi viene impedito. Occorre, infatti, che prima elimini lo schema. Per far ciò serve che esso sia “vuoto”, cioè che ad esso non appartenga nessun oggetto (tabella, stored procedure, etc..). Nel caso non sia vuoto, devo cancellare i suoi oggetti o trasferirli in un altro schema con l’istruzione T-SQL

Meccanismi di auditing

Sergio Govoni

L’auditing dei dati rappresenta l’insieme delle attività mirate ad accertare la validità e l’affidabilità di un’informazione. 

I meccanismi di auditing vengono utilizzati per tenere traccia di tutti gli eventi che riguardano la sicurezza del sistema database. SQL Server Profiler è un tool che permette di monitorare gli eventi del database engine, si basa sull’impostazione di tracce (o filtri di traccia). Una traccia (o filtro di traccia) è un set di eventi memorizzati di cui occorre creare un profilo.

Split ordinato di una colonna di tipo VarChar

Sergio Govoni

Recentemente, ho avuto l’occasione di realizzare un’estrazione dati in cui era richiesto di dividere le righe di una colonna di tipo VARCHAR per ottenere due colonne ordinate tra loro, una specie di partizione dinamica ordinata.

Scenario

Disponiamo di un database SQL Server in cui sono presenti le tabelle anagrafiche dbo.Magazzini e dbo.Vani utilizzate rispettivamente per memorizzare l’anagrafica dei magazzini aziendali ed la relativa suddivisione in vani.