Sql-Server-2005

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.

Le tabelle dbo.Magazzini e dbo.Vani hanno la seguente struttura:

Deframmentazione indici

Sergio Govoni

Abbiamo trattato il problema della frammentazione degli indici nei post Index Fragmentation e Index Fragmentation (Parte 2) definendo la stored procedure USP_ExecReorgRebuildIndex() in grado di eseguire la deframmentazione degli indici con avg_fragmentation_in_percent maggiore del 10% in un database SQL Server 2005.

La DMV sys.dm_db_index_physical_stats non è presente nella versione 2000 di SQL Server (di cui esistono numerose installazioni attive in produzione) da qui la non compatibilità della stored procedure USP_ExecReorgRebuildIndex() su SQL Server 2000.

Il transaction log e' enorme e mi da problemi. Cosa posso fare?

Davide Mauri

Il transaction log viene principalmente utilizzato da SQL Server per garantire le proprietà ACID delle transazioni

In funzione del modello recupero del database (in inglese Recovery Model) il transaction log può essere utilizzato anche come strumento di backup in modo da poter ricostruire l’intero database nel caso qualcosa non andasse per il verso giusto.

SIMPLE RECOVERY MODEL

Se il modello di recupero è impostato a Semplice (Simple), il transaction log verrà utilizzato solo per garantire le proprietà ACID citate in precedenza. Ogni volta che una transazione viene confermata od annullata, lo spazio occupato dalla stessa nel transaction log verrà liberato automaticamente e ri-utilizzato.