Compressione backup (SQL Server)
In questo argomento viene descritta la compressione dei backup di SQL Server, incluse le restrizioni, il compromesso di prestazioni previsto dalla compressione di backup, la configurazione della compressione di backup e il rapporto di compressione.
[!NOTA]
Per informazioni sulle edizioni di SQL Server 2012 che supportano la compressione dei backup, vedere Funzionalità supportate dalle edizioni di SQL Server 2012. Ogni edizione di SQL Server 2008 e successiva è in grado di ripristinare un backup compresso.
Contenuto dell'argomento
Vantaggi
Restrizioni
Impatto sulle prestazioni della compressione dei backup
Calcolare il rapporto di compressione di un backup compresso
Allocazione di spazio per il file di backup
Attività correlate
Vantaggi
Poiché le dimensioni di un backup compresso sono minori di quelle di un backup non compresso degli stessi dati, la compressione di un backup richiede una minore quantità di I/O del dispositivo e pertanto la velocità del backup aumenta in genere in modo significativo.
Per ulteriori informazioni, vedere Impatto sulle prestazioni della compressione di backup, più avanti in questo argomento.
[Torna all'inizio]
Restrizioni
Ai backup compressi vengono applicate le restrizioni seguenti:
I backup compressi e non compressi non possono coesistere in un set di supporti.
Nelle versioni precedenti di SQL Server non è possibile leggere i backup compressi.
NTbackups non può condividere un nastro con backup compressi di SQL Server.
[Torna all'inizio]
Impatto sulle prestazioni della compressione dei backup
Per impostazione predefinita, la compressione aumenta significativamente l'utilizzo della CPU, il che può avere un impatto negativo sulle operazioni simultanee. Potrebbe pertanto essere necessario creare backup compressi con priorità bassa in una sessione in cui l'utilizzo della CPU è limitato da Resource Governor. Per ulteriori informazioni, vedere Utilizzo di Resource Governor per limitare l'utilizzo della CPU da parte della compressione dei backup (Transact-SQL).
Per conoscere le prestazioni di I/O del backup, è possibile isolare l'I/O del backup in/da dispositivi valutando i seguenti ordinamenti di contatori delle prestazioni:
Contatori delle prestazioni di I/O di Windows, ad esempio i contatori del disco fisico
Contatore Byte/sec velocità effettiva dispositivo dell'oggetto SQLServer:Dispositivo di backup
Contatore Velocità effettiva backup o ripristino/sec dell'oggetto SQLServer:Database
Per informazioni sui contatori di Windows, vedere la Guida di Windows. Per informazioni sul funzionamento con i contatori di SQL Server, vedere Utilizzare oggetti di SQL Server.
[Torna all'inizio]
Calcolare il rapporto di compressione di un backup compresso
Per calcolare il rapporto di compressione di un backup, utilizzare i valori per il backup nelle colonne backup_size e compressed_backup_size della tabella di cronologia backupset, come descritto di seguito:
backup_size:compressed_backup_size
Una compressione 3:1, ad esempio, indica un risparmio approssimativo del 66% di spazio su disco. Per eseguire una query su queste colonne, è possibile utilizzare la seguente istruzione Transact-SQL:
SELECT backup_size/compressed_backup_size FROM msdb..backupset;
Il rapporto di compressione di un backup compresso dipende dai dati compressi. Vari fattori possono avere un impatto sul rapporto di compressione ottenuto. Di seguito vengono indicati alcuni dei fattori principali:
Tipo di dati.
I dati di tipo carattere vengono compressi maggiormente rispetto ad altri tipi di dati.
Coerenza dei dati tra le righe in una pagina.
In genere, se una pagina contiene molte righe in cui un campo contiene lo stesso valore, potrebbe verificarsi una significativa compressione per tale valore. Invece, per un database che contiene dati casuali o che contiene solo una grande riga per pagina, un backup compresso avrebbe pressoché le stesse dimensioni di un backup non compresso.
Crittografia dei dati.
I dati crittografati vengono compressi molto meno rispetto a dati equivalenti non crittografati. Se si utilizza Transparent Data Encryption per crittografare un intero database, la compressione dei backup potrebbe non garantire una riduzione significativa, e in alcuni casi neanche minima, delle dimensioni.
Compressione del database,
Se il database è compresso, la compressione potrebbe ridurre di poco o non ridurre le dimensioni dei backup.
[Inizio pagina]
Allocazione di spazio per il file di backup
Per i backup compressi le dimensioni dei file di backup finale dipende dal livello di compressione dei dati e questo valore non è noto finché l'operazione di backup non viene completata. Per impostazione predefinita, quando si esegue il backup di un database mediante compressione, il motore di database utilizza pertanto un algoritmo di preallocazione per il file di backup. Tramite questo algoritmo viene preallocata una percentuale predefinita delle dimensioni del database per il file di backup. Se durante un'operazione di backup è necessaria una quantità di spazio maggiore, il motore di database aumenta le dimensioni del file. Se le dimensioni finali sono inferiori allo spazio allocato, al termine dell'operazione di backup il motore di database compatta il file in base alle dimensioni finali effettive del backup.
Per consentire l'aumento del file di backup solo di quanto necessario per raggiungere le relative dimensioni finali, utilizzare il flag di traccia 3042. Il flag di traccia 3042 fa in modo che durante l'operazione di backup venga ignorato l'algoritmo di preallocazione di compressione di backup predefinito. Questo flag di traccia è utile se è necessario risparmiare spazio allocando solo le dimensioni effettive necessarie per il backup compresso. L'utilizzo di questo flag di traccia può tuttavia comportare un effetto leggermente negativo sulle prestazioni, vale a dire un possibile aumento della durata dell'operazione di backup.
Attività correlate
Vedere anche
Riferimento
Flag di traccia (Transact-SQL)