Compressione backup (SQL Server)
La compressione dei backup è stata introdotta in SQL Server 2008 Enterprise Edition. In questo argomento vengono fornite le informazioni di base sulla compressione dei backup, incluso il compromesso di prestazioni previsto dalla compressione di backup.
[!NOTA]
La creazione di backup compressi è supportata solo in SQL Server 2008 Enterprise Edition e versioni successive, ma a partire da SQL Server 2008 in ogni edizione è possibile ripristinare un backup compresso.
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.
Impatto sulle prestazioni della compressione dei backup
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 impostazione predefinita, la compressione aumenta significativamente l'utilizzo della CPU e la CPU aggiuntiva utilizzata dal processo di compressione 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 Procedura: 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 Utilizzo degli oggetti di SQL Server.
Configurazione
In fase di installazione, la compressione dei backup è disattivata per impostazione predefinita. Il comportamento predefinito della compressione dei backup è determinato dall'opzione di configurazione a livello di server Opzione predefinita di compressione dei backup. È possibile eseguire l'override dell'impostazione predefinita a livello del server durante la creazione di un singolo backup o la pianificazione di una serie di backup di routine.
Per modificare l'impostazione predefinita a livello del server
Transact-SQL
Utilizzare la stored procedure sp_configure per impostare il valore dell'impostazione predefinita della compressione dei backup, quindi eseguire l'istruzione RECONFIGURE
SQL Server Management Studio
Utilizzare la pagina Impostazioni database della finestra di dialogo Proprietà server. Per ulteriori informazioni, vedere Procedura: Visualizzazione o modifica dell'opzione predefinita di compressione dei backup (SQL Server Management Studio).
Per eseguire l'override dell'impostazione predefinita della compressione dei backup
È possibile modificare il comportamento della compressione dei backup per un singolo backup, processo di backup o configurazione per il log shipping.
Transact-SQL
Per un backup specifico, è possibile utilizzare WITH NO_COMPRESSION o WITH COMPRESSION in un'istruzione BACKUP.
Per una configurazione per il log shipping, è possibile determinare il comportamento della compressione dei backup dei log utilizzando sp_add_log_shipping_primary_databasesp_change_log_shipping_primary_database (Transact-SQL).
SQL Server Management Studio
È possibile sostituire l'impostazione predefinita per la compressione dei backup del server specificando Comprimi il backup o Non comprimere il backup in una delle finestre di dialogo seguenti:
Backup database (pagina Opzioni)
Quando si esegue il backup di un database, è possibile determinare la compressione dei backup per il backup di un singolo database, file o log.
Creazione guidata piano di manutenzione
La Creazione guidata piano di manutenzione consente di controllare la compressione dei backup per ciascun set di backup completo o differenziale del database o backup del log pianificati.
SQL Server 2008 Integration Services (SSIS)Attività Backup database
È possibile controllare il comportamento della compressione dei backup durante la creazione di un pacchetto per l'esecuzione del backup di un singolo database o di più database.
Log shipping - Impostazioni backup log delle transazioni
È possibile determinare il comportamento della compressione dei backup dei log.
Rapporto di compressione
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.