Ver el tamaño del archivo disperso de una instantánea de base de datos (Transact-SQL)

En este tema se describe cómo usar Transact-SQL para comprobar que un archivo de base de datos de SQL Server es un archivo disperso y para determinar su tamaño real y máximo. Las instantáneas de base de datos de SQL Server usan archivos dispersos, que son una característica del sistema de archivos NTFS.

[!NOTA]

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. 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.

Comprobar que un archivo de base de datos es un archivo disperso

  1. En la instancia de SQL Server:

    Seleccione la columna is_sparse de sys.database_files en la instantánea de base de datos o de sys.master_files. El valor indica si el archivo es un archivo disperso, de la manera siguiente:

    1 = El archivo es un archivo disperso.

    0 = El archivo no es un archivo disperso.

Calcular el tamaño real de un archivo disperso

[!NOTA]

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.

Para ver el número de bytes que cada archivo disperso de una instantánea está usando actualmente en el disco, consulte la columna size_on_disk_bytes de la vista de administración dinámica SQL Server sys.dm_io_virtual_file_stats.

Para ver el espacio en disco que usa un archivo disperso, haga clic con el botón secundario en el archivo en Microsoft Windows, haga clic en Propiedades y consulte el valor de Tamaño en disco.

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 usar cualquiera de las alternativas siguientes:

  • Con el símbolo del sistema de Windows:

    1. Use los comandos dir de Windows.

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

  • En la instancia de SQL Server:

    Seleccione la columna size de sys.database_files en la instantánea de base de datos o de sys.master_files. El valor de la columna size refleja el espacio máximo, en páginas SQL, que puede usar 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:

    ( number_of_pages * 8192)

Vea también

Referencia

sys.fn_virtualfilestats (Transact-SQL)

sys.database_files (Transact-SQL)

sys.master_files (Transact-SQL)

Conceptos

Instantáneas de base de datos (SQL Server)