Exibir o tamanho do arquivo esparso de um instantâneo de banco de dados (Transact-SQL)View the Size of the Sparse File of a Database Snapshot (Transact-SQL)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Este tópico descreve como usar o Transact-SQLTransact-SQL para verificar se um arquivo de banco de dados do SQL ServerSQL Server é um arquivo esparso e descobrir seu tamanho real e máximo.This topic describes how to use Transact-SQLTransact-SQL to verify that a SQL ServerSQL Server database file is a sparse file and to find out its actual and maximum sizes. Arquivos esparsos, que são um recurso do sistema de arquivos NTFS, são usados por instantâneos do banco de dados do SQL ServerSQL Server .Sparse files, which are a feature of the NTFS file system, are used by SQL ServerSQL Server database snapshots.

Observação

Durante a criação do instantâneo do banco de dados, arquivos esparsos são criados usando os nomes de arquivo na instrução CREATE DATABASE.During database snapshot creation, sparse files are created by using the file names in the CREATE DATABASE statement. Esses nomes de arquivo são armazenados em sys.master_files na coluna physical_name .These file names are stored in sys.master_files in the physical_name column. Em sys.database_files (quer seja no banco de dados de origem ou em um instantâneo), a coluna physical_name sempre contém os nomes dos arquivos de banco de dados de origem.In sys.database_files (whether in the source database or in a snapshot), the physical_name column always contains the names of the source database files.

Verificar se um arquivo de banco de dados é um arquivo esparsoVerify that a Database File is a Sparse File

  1. Na instância do SQL ServerSQL Server:On the instance of SQL ServerSQL Server:

Somos todos ouvidos: Se você encontrar algo desatualizado ou incorreto neste artigo, como uma etapa ou um exemplo de código, informe-nos.We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. Você pode clicar no botão Esta página na seção Comentários na parte inferior desta página.You can click the This page button in the Feedback section at the bottom of this page. Lemos todos os itens de comentários sobre o SQL, normalmente no dia seguinte.We read every item of feedback about SQL, typically the next day. Obrigado.Thanks.

 Select the **is_sparse** column from either **sys.database_files** in the database snapshot or from **sys.master_files**. The value indicates whether the file is a sparse file, as follows:  

 1 = File is a sparse file.  

 0 = File is not a sparse file.  

Descobrir o tamanho real de um arquivo esparsoFind Out the Actual Size of a Sparse File

Observação

Arquivos esparsos crescem em incrementos de 64 KB (quilobyte); portanto, o tamanho de um arquivo esparso no disco sempre é um múltiplo de 64 KB.Sparse files grow in 64-kilobyte (KB) increments; thus, the size of a sparse file on disk is always a multiple of 64 KB.

Para exibir o número de bytes que cada arquivo esparso de um instantâneo está usando no disco no momento, confira a coluna size_on_disk_bytes da exibição de gerenciamento dinâmico do SQL ServerSQL Server, sys.dm_io_virtual_file_stats.To view the number of bytes that each sparse file of a snapshot is currently using on disk, query the size_on_disk_bytes column of the SQL ServerSQL Server sys.dm_io_virtual_file_stats dynamic management view.

Para exibir o espaço em disco usado por um arquivo esparso, clique com o botão direito do mouse no Microsoft Windows, clique em Propriedadese examine o valor de Tamanho em disco .To view the disk space used by a sparse file, right-click the file in Microsoft Windows, click Properties, and look at the Size on disk value.

Descobrir o tamanho máximo de um arquivo esparsoFind Out the Maximum Size of a Sparse File

O tamanho máximo de crescimento de um arquivo esparso é o tamanho do arquivo de banco de dados de origem correspondente, no momento da criação do instantâneo.The maximum size to which a sparse can grow is the size of the corresponding source database file at the time of the snapshot creation. Para saber qual é este tamanho, você pode usar uma das alternativas seguintes:To learn this size, you can use one of the following alternatives:

  • Usando o prompt de comando do Windows:Using Windows Command Prompt:

    1. Use os comandos dir do Windows.Use Windows dir commands.

    2. Selecione o arquivo esparso, abra a caixa de diálogo Propriedades do arquivo no Windows, e consulte o valor Tamanho .Select the sparse file, open the file Properties dialog box in Windows, and look at the Size value.

  • Na instância do SQL ServerSQL Server:On the instance of SQL ServerSQL Server:

    Selecione a coluna size em sys.database_files no instantâneo do banco de dados ou em sys.master_files.Select the size column from either sys.database_files in the database snapshot or from sys.master_files. O valor da coluna size reflete o espaço máximo, em páginas SQL, que o instantâneo pode vir a usar; esse valor é equivalente ao campo Tamanho do Windows, a não ser que seja representado em número de páginas SQL no arquivo; o tamanho em bytes é:The value of size column reflects the maximum space, in SQL pages, that the snapshot can ever use; this value is equivalent to the Windows Size field, except that it is represented in terms of the number of SQL pages in the file; the size in bytes is:

    ( number_of_pages * 8192)( number_of_pages * 8192)

ExemploExample

O script a seguir mostrará o tamanho em disco, em quilobytes, de cada arquivo esparso.The following script will show the size on disk in kilobytes for each sparse file. O script também mostrará o tamanho máximo em megabytes que um arquivo esparso pode atingir.The script will also show the maximum size in megabytes to which a sparse file can grow. Execute o script Transact-SQL no SQL Server Management StudioSQL Server Management Studio.Execute the Transact-SQL script in SQL Server Management StudioSQL Server Management Studio.

SELECT  DB_NAME(sd.source_database_id) AS [SourceDatabase], 
        sd.name AS [Snapshot],
        mf.name AS [Filename], 
        size_on_disk_bytes/1024 AS [size_on_disk (KB)],
        mf2.size/128 AS [MaximumSize (MB)]
FROM sys.master_files mf
JOIN sys.databases sd
    ON mf.database_id = sd.database_id
JOIN sys.master_files mf2
    ON sd.source_database_id = mf2.database_id
    AND mf.file_id = mf2.file_id
CROSS APPLY sys.dm_io_virtual_file_stats(sd.database_id, mf.file_id)
WHERE mf.is_sparse = 1
AND mf2.is_sparse = 0
ORDER BY 1;

Consulte TambémSee Also

Instantâneos de banco de dados (SQL Server) Database Snapshots (SQL Server)
sys.fn_virtualfilestats (Transact-SQL) sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL) sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)sys.master_files (Transact-SQL)