Informazioni sulle dimensioni dei file sparse negli snapshot del database

Uno snapshot del database utilizza uno o più file sparse per archiviare i dati. Durante la creazione dello snapshot del database, i file sparse vengono generati utilizzando i nomi di file specificati nell'istruzione CREATE DATABASE. Tali nomi di file sono archiviati in sys.master_files nella colonna physical_name.

Nota

In sys.database_files, sia nel database di origine che nello snapshot, la colonna physical_name include sempre i nomi dei file del database di origine.

I file sparse sono una caratteristica del file system NTFS. Inizialmente in un file sparse non è incluso alcun dato utente e lo spazio su disco per i dati utente non viene allocato per tale file. Per informazioni generali sull'utilizzo di file sparse in snapshot del database e sulla modalità di incremento degli snapshot del database, vedere Funzionamento degli snapshot del database.

Un file sparse appena creato richiede poco spazio su disco. Lo spazio su disco viene allocato gradualmente dal file system NTFS mano a mano che i dati vengono scritti nel file sparse. È possibile che un file sparse raggiunga dimensioni elevate. Se uno snapshot del database esaurisce lo spazio a disposizione, viene contrassegnato come sospetto e deve essere rimosso. La rimozione non influisce tuttavia sul database di origine e le azioni eseguite su tale database procedono normalmente.

La dimensione dei file sparse aumenta con incrementi di 64 kilobyte (KB) e corrisponde quindi sempre a un multiplo di 64 KB. L'ultimo incremento di 64 KB include da una a otto pagine da 8 KB, a seconda del numero di pagine copiate dal database di origine. Ciò significa che, in media, la dimensione di un file sparse supera leggermente lo spazio effettivamente occupato dalle pagine.

  • Per rilevare la dimensione effettiva di un file sparse

    Per individuare il numero di byte utilizzati nel disco da ogni file sparse dello snapshot, è possibile utilizzare la colonna size_on_disk_bytes della vista a gestione dinamica sys.dm_io_virtual_file_stats.

    In alternativa, per visualizzare lo spazio su disco utilizzato da un file sparse, fare clic con il pulsante destro del mouse sul file in Microsoft Windows, scegliere Proprietà e quindi verificare il valore in Dimensioni su disco.

  • Per rilevare la dimensione massima di un file sparse

    La dimensione massima consentita per un file sparse equivale alla dimensione del file di database di origine corrispondente al momento della creazione dello snapshot. Per informazioni su tale dimensione, è possibile eseguire una delle operazioni seguenti:

    • Utilizzare i comandi dir di Windows.

    • Selezionare il file sparse, aprire la finestra di dialogo Proprietà relativa a tale file in Windows e verificare il valore Dimensioni.

    • Selezionare la colonna size in sys.database_files nello snapshot del database oppure in sys.master_files. La colonna size in sys.database_files o sys.master_files indica lo spazio massimo, espresso in pagine SQL, consentito per lo snapshot. Tale valore equivale al campo Dimensioni di Windows, ma viene rappresentato in termini di numero di pagine SQL nel file. La dimensione in byte equivale a:

      ( numero_di_pagine * 8192)