Compartilhar via


Exibir o tamanho do arquivo esparso de um instantâneo de banco de dados (Transact-SQL)

Este tópico descreve como usar Transact-SQL para verificar se um arquivo de banco de dados do SQL Server é um arquivo esparso e descobrir seus tamanhos reais e máximos. Instantâneos de banco de dados do SQL Server utilizam arquivos esparsos, que são um recurso do sistema de arquivos NTFS.

Observação

Durante a criação do instantâneo do banco de dados, são criados arquivos esparsos com os nomes de arquivo especificados na instrução CREATE DATABASE. Esses nomes de arquivo são armazenados em sys.master_files na coluna physical_name . Em sys.database_files (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.

Verificar se um arquivo de banco de dados é um arquivo esparso

  1. Na instância do SQL Server:

    Selecione a coluna is_sparse de sys.database_files no instantâneo do banco de dados ou de sys.master_files. O valor indica se o arquivo é um arquivo esparso, da seguinte maneira:

    1 = O arquivo é um arquivo esparso.

    0 = O arquivo não é um arquivo esparso.

Descobrir o tamanho real de um arquivo esparso

Observação

Os arquivos esparsos crescem em incrementos de 64 quilobytes (KB) ; portanto, o tamanho de um arquivo esparso no disco é sempre um múltiplo de 64 KB.

Para exibir o número de bytes que cada arquivo esparso de um instantâneo está usando atualmente em disco, consulte a coluna size_on_disk_bytes da visão de gerenciamento dinâmico sys.dm_io_virtual_file_stats do SQL Server.

Para exibir o espaço em disco usado por um arquivo esparso, clique com o botão direito do mouse no arquivo no Microsoft Windows, clique em Propriedades e examine o tamanho no valor do disco.

Descobrir o tamanho máximo de um arquivo esparso

O tamanho máximo ao qual um arquivo esparso pode crescer é equivalente ao tamanho do arquivo de banco de dados de origem correspondente no momento da criação do instantâneo. Para saber esse tamanho, você pode usar uma das seguintes alternativas:

  • Usando o Prompt de Comando do Windows:

    1. Use comandos dir do Windows.

    2. Selecione o arquivo esparso, abra a caixa de diálogo Propriedades do arquivo no Windows e examine o valor tamanho .

  • Na instância do SQL Server:

    Selecione a coluna 'tamanho' de sys.database_files no instantâneo do banco de dados ou de sys.master_files. O valor da coluna de tamanho reflete o espaço máximo, em páginas SQL, que o instantâneo pode usar; esse valor é equivalente ao campo Tamanho do Windows, exceto que ele é representado em termos do número de páginas SQL no arquivo; o tamanho em bytes é:

    ( number_of_pages * 8192)

Consulte Também

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