Data Compression: Strategy, Capacity Planning and Best Practices
Whitepaper dedicato all’utilizzo ed all’implementazione della compressione dei dati nei database:
Whitepaper dedicato all’utilizzo ed all’implementazione della compressione dei dati nei database:
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.
;WITH tIndex AS (
SELECT object_id AS id , index_id AS indid , type, name , ( SELECT colid as colPosition FROM sys.sysindexkeys WHERE id = I.object_id AND indid = I.index_id AND keyno > 0 FOR XML PATH ) AS cols , ( SELECT includedCol FROM ( SELECT CASE keyno WHEN 0 THEN colid ELSE NULL END AS includedCol FROM sys.sysindexkeys WHERE id = I.object_id AND indid = I.index_id ) T0 order by includedCol FOR XML PATH ) AS inc
FROM sys.indexes AS I )
SELECT object_schema_name ( T1.id ) + ‘.’ + object_name ( T1.id ) as tableName, T1.name AS indexName, T2.name AS duplicateIndex, S.used_page_count * 8 indexSizeKB
FROM tIndex AS T1
JOIN tIndex AS T2 ON T1.type = T2.type AND T1.id = T2.id AND T1.indid < T2.indid AND T1.cols = T2.cols AND T1.inc = T2.inc
JOIN sys.dm_db_partition_stats AS S ON S.[object_id] = T2.id AND S.index_id = T2.indId
ORDER BY object_schema_name ( T1.id ) + ‘.’ + object_name ( T1.id ), T1.name
go
Il “Disk Sector Alignment” (chiamao altrimenti “Partition Aligment”) è una delle cose più importante da fare prima del deployment di SQL Server, al fine di effettuare il corretto tuning del sistema I/O. Il non-allineamento (misalignment) può avere un impatto negativo sulle performance dal 30 al 70%!!!! Whitepaper da leggere e da seguire:
Disk Partition Alignment Best Practices for SQL Server
Whitepaper dedicato all’identificazione dei problemi di performance su SQL Server 2008 ed alla loro risoluzione:
http://msdn.microsoft.com/en-us/library/dd672789.aspx
Da leggere assolutamente )
Articolo specifico per SQL Server 2008 che descrive come utilizzare al meglio le funzionalità di partizionamento per rendere più agevole e performante il caricamento di dati e la manutenzione dei database stessi.
http://msdn.microsoft.com/en-us/library/dd578580.aspx
Lettura altamente consigliata a tutti coloro che si trovano a dover gestire database da decine o centinaia di gigabyte.