Descripción del tamaño de los archivos dispersos en instantáneas de bases de datos

Una instantánea de base de datos utiliza uno o varios archivos dispersos para almacenar datos. Durante la creación de instantáneas de base de datos, se crean archivos dispersos con los nombres de archivo de la instrucción CREATE DATABASE. Estos nombres de archivo se almacenan en la columna physical_name de sys.master_files.

Nota

En sys.database_files, ya sea en la base de datos de origen o en una instantánea, la columna physical_name siempre incluye los nombres de los archivos de la base de datos de origen.

Los archivos dispersos son una característica del sistema de archivos NTFS. Inicialmente, un archivo disperso no incluye datos de usuario y no se le asigna espacio en disco para éstos. Para obtener información general sobre el uso de los archivos dispersos en instantáneas de bases de datos y el crecimiento de éstas, vea Funcionamiento de las instantáneas de la base de datos.

Cuando se crea por primera vez, un archivo disperso ocupa poco espacio en disco. A medida que se escriben datos en él, NTFS le asigna espacio en disco de forma gradual. El tamaño de un archivo disperso puede aumentar en gran medida. Si una instantánea de base de datos se queda sin espacio, se marcará como sospechosa y se deberá quitar. Sin embargo, la base de datos de origen no se verá afectada y las acciones en ella continuarán normalmente.

El tamaño de los archivos dispersos aumenta en incrementos de 64 kilobytes (KB), por lo que siempre es un múltiplo de 64 KB. El incremento de 64 KB más reciente incluye entre una y ocho páginas de 8 KB, en función del número de páginas que se hayan copiado de la base de datos de origen. Esto significa que, como media, el tamaño de un archivo disperso supera ligeramente el espacio que ocupan en realidad las páginas.

  • Para calcular el tamaño real de un archivo disperso

    Para obtener información sobre el número de bytes que cada archivo disperso de la instantánea está utilizando actualmente en el disco, puede utilizar la columna size_on_disk_bytes de la vista de administración dinámica sys.dm_io_virtual_file_stats.

    Como alternativa, para calcular el espacio en disco que utiliza un archivo disperso, puede hacer clic con el botón secundario en el archivo en Microsoft Windows, hacer clic en Propiedades y consultar el valor de Tamaño en disco.

  • Para calcular el tamaño máximo de un archivo disperso

    El tamaño máximo de un archivo disperso es el tamaño del archivo de la base de datos de origen correspondiente en el momento de la creación de la instantánea. Para saber cuál es este tamaño, puede utilizar cualquiera de las alternativas siguientes:

    • Utilice los comandos dir de Windows.

    • Seleccione el archivo disperso, abra el cuadro de diálogo Propiedades del archivo en Windows y consulte el valor de Tamaño.

    • Seleccione la columna size de sys.database_files en la instantánea de la base de datos o de sys.master_files. La columna size de sys.database_files o sys.master_files refleja el espacio máximo, en páginas SQL, que puede utilizar la instantánea. Este valor es equivalente al del campo Tamaño de Windows, con la diferencia de que se representa en términos de número de páginas SQL del archivo. El tamaño en bytes es el siguiente:

      ( número_de_páginas * 8192)