Condividi tramite


Descrizione del supporto per i database di SQL Server in volumi compressi

Questo articolo descrive il comportamento di archiviazione dei file di database di SQL Server nelle unità compresse.

Versione originale del prodotto: SQL Server
Numero KB originale: 231347

Riepilogo

I database di SQL Server non sono supportati nei volumi compressi NTFS o FAT, tranne in circostanze speciali per SQL Server 2005 e versioni successive. Un volume compresso non garantisce scritture allineate al settore e queste sono necessarie per garantire il ripristino transazionale in alcune circostanze.

Per SQL Server 2005 e versioni successive, l'archiviazione file di database in unità compresse si comporta come segue:

  • Se il file di dati appartiene a un filegroup di sola lettura, il file è consentito.

  • Se il file di dati appartiene a un database di sola lettura, il file è consentito.

  • Se il file di log delle transazioni appartiene a un database di sola lettura, il file è consentito.

  • Se si tenta di visualizzare un database di lettura/scrittura con file in un'unità compressa, SQL Server genera l'errore seguente:

    Messaggio 5118, livello 16, stato 2, riga 1 Il file "<file_name>" è compresso ma non risiede in un database o un filegroup di sola lettura. Il file deve essere decompresso.

Per altre informazioni sulle esclusioni per i database di sola lettura e i filegroup di sola lettura in SQL Server 2008, visitare il seguente sito Web MSDN:

Filegroup di sola lettura e compressione

Note

Questo argomento si applica anche a SQL Server 2012 e versioni successive.

Ulteriori informazioni

Sebbene sia fisicamente possibile aggiungere database SQL Server in volumi compressi, non è consigliabile e non è supportato. I motivi sottostanti di questo includono quanto segue:

  • Prestazioni

    I database nei volumi compressi possono causare un sovraccarico significativo delle prestazioni. La quantità varia a seconda del volume di I/O e del rapporto tra letture e scritture. Tuttavia, in alcune condizioni è stata osservata una riduzione del 500%.

  • Ripristino del database

    Il ripristino transazionale affidabile del database richiede scritture allineate al settore e i volumi compressi non supportano questo scenario. Un secondo problema riguarda la gestione interna dello spazio di ripristino. SQL Server riserva internamente spazio preallocato nei file di database per i rollback. È possibile che nei volumi compressi venga visualizzato un errore Di spazio insufficiente nei file preallocati e questo interferisce con il recupero riuscito.

In alcuni scenari, un backup di SQL Server in un volume compresso o in una cartella compressa non ha esito positivo. Quando si verifica questo problema, viene visualizzato uno dei messaggi di errore seguenti.

  • In Windows Vista e versioni successive di Windows

    STATUS_FILE_SYSTEM_LIMITATION Impossibile completare l'operazione richiesta a causa di una limitazione del file system
    Errore del sistema operativo 665(Impossibile completare l'operazione richiesta a causa di una limitazione del file system)

  • Nelle versioni precedenti di Windows

    STATUS_INSUFFICIENT_RESOURCES risorse di sistema insufficienti per completare l'errore del sistema operativo del servizio richiesto 1450(Esistono risorse di sistema insufficienti per completare il file richiesto o 33(Il processo non può accedere al file perché un altro processo ha bloccato una parte del file.

Per altre informazioni su questo problema, vedere Un file molto frammentato in un volume NTFS potrebbe non aumentare oltre una determinata dimensione.

Note

  • L'hotfix per Windows Vista e versioni successive di Windows descritte nell'articolo della Knowledge Base 967351 potrebbe non risolvere il problema dei backup di SQL Server che non hanno esito positivo in un volume compresso o in una cartella compressa. Tuttavia, questo hotfix consente di mediare il problema.
  • Dopo aver applicato l'hotfix descritto nell'articolo della Knowledge Base 967351, è necessario formattare l'unità in cui è abilitata la compressione usando il /L parametro . Quando si formatta l'unità su cui è abilitata la compressione usando il /L parametro , il segmento Byte per record file aumenta da 1.024 byte a 4.096 byte.

I backup di SQL Server in volumi compressi possono risparmiare spazio su disco. Tuttavia, possono aumentare l'utilizzo della CPU durante l'operazione di backup. È sempre consigliabile usare le funzionalità di checksum BACKUP per garantire l'integrità dei dati.

SQL Server richiede che i sistemi supportino la distribuzione garantita a supporti stabili, come descritto nei requisiti del programma di affidabilità di I/O di SQL Server.

Per altre informazioni sui requisiti di input e output per il motore di database di SQL Server, vedere requisiti di input/output motore di database di Microsoft SQL Server