Filegroup di sola lettura e compressione

È possibile contrassegnare come di sola lettura tutti i filegroup esistenti, ad eccezione di quello primario. Un filegroup contrassegnato come di sola lettura non può essere modificato in alcun modo. I filegroup di sola lettura possono tuttavia essere compressi.

Inserire nei filegroup le tabelle che non si desidera modificare, ad esempio i dati cronologici, e quindi contrassegnare i filegroup come di sola lettura. Questa operazione impedisce gli aggiornamenti accidentali.

Utilizzo della compressione NTFS con filegroup definiti dall'utente e database di sola lettura

In SQL Server è supportata la compressione NTFS di filegroup definiti dall'utente e database di sola lettura. La compressione dei dati di sola lettura è consigliabile nelle situazioni seguenti:

  • Si dispone di un'elevata quantità di dati statici o cronologici che devono essere resi disponibili per l'accesso limitato in sola lettura.

  • Si dispone di spazio limitato sul disco.

Considerazioni di carattere amministrativo

  • È supportata solo la compressione NTFS di Windows. Per ulteriori informazioni, vedere la documentazione relativa al file system NTFS di Windows.

  • La compressione dei dati è supportata per i dati utente archiviati in filegroup definiti dall'utente (con estensione NDF) di sola lettura. Non è possibile comprimere filegroup primari e log delle transazioni a meno che il database stesso non sia di sola lettura.

  • Per comprimere i file del filegroup definito dall'utente, il database deve essere in modalità non in linea. Per ulteriori informazioni, vedere ALTER DATABASE (Transact-SQL).

  • Per comprimere un file o verificarne lo stato di compressione, utilizzare il comando COMPATTA di Windows o Esplora risorse. Per ulteriori informazioni, vedere la documentazione di Windows.

  • Non è possibile comprimere i database di sistema di SQL Server, ad esempio master, model, msdb, resource e tempdb.

  • I filegroup compressi sono supportati nelle operazioni di backup e ripristino di SQL Server, senza che sia necessario apportare alcuna modifica all'implementazione. La compressione eseguita dal sistema operativo risulta infatti trasparente alle operazioni di backup e ripristino.

  • Sono supportate tutte le istruzioni SELECT e le operazioni di sola lettura. Il tempo di esecuzione di tali istruzioni sarà più lento rispetto alle istruzioni equivalenti su filegroup non compressi.

  • Per modificare i dati compressi, è necessario decomprimere i file e impostare il filegroup in modo da consentire le operazioni di lettura/scrittura.

  • È possibile comprimere i filegroup primario e definito dall'utente di un database di sola lettura. Per i file associati è necessario utilizzare la compressione NTFS.

  • Le operazioni di collegamento database sono supportate sui filegroup compressi. Prima di scollegare il database, il filegroup deve essere impostato per la sola lettura. Prima di collegare il database, i file devono essere compressi.

Esempio di compressione di filegroup secondari

In questo esempio le transazioni relative a ordini di vendita vengono spostate da un database di produzione a SalesArchive, un database di archiviazione archiviato in un filegroup compresso di sola lettura. Ogni tanto vengono eseguite ricerche sui dati per analizzare le vendite ed elaborare previsioni, tuttavia i dati non vengono mai modificati.

  1. Nell'ambito delle operazioni preliminari allo spostamento dei dati dal database di produzione, l'amministratore del database crea un filegroup di lettura/scrittura denominato Sales01 in SalesArchive. Sales01 è inserito in una directory NTFS.

  2. L'amministratore del database copia le transazioni relative agli ordini di vendita disponibili nel database di produzione per archiviare le tabelle create nel filegroup Sales01.

  3. Dopo aver rimosso tutti gli utenti dal database SalesArchive, l'amministratore modifica il database, imposta il filegroup Sales01 per la sola lettura e quindi attiva la modalità non in linea per il database.

  4. L'amministratore del database comprime il file Sales01.ndf tramite il comando COMPATTA di Windows. Per ulteriori informazioni, vedere la documentazione relativa al file system NTFS di Windows.

  5. L'amministratore del database attiva la modalità in linea per il database SalesArchive. I dati risultano ora compressi e disponibili per l'accesso in sola lettura.