Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
do Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
do Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Devolve informação de utilização de espaço para cada ficheiro de dados na base de dados.
Observação
Para chamar isso do Azure Synapse Analytics ou do Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_db_file_space_usage. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
database_id |
smallint | ID da base de dados. No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico. |
file_id |
smallint | ID do ficheiro.file_id mapeia para file_id in sys.dm_io_virtual_file_stats e para fileid em sys.sysfiles. |
filegroup_id |
smallint |
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. ID do grupo de ficheiros. |
total_page_count |
bigint |
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. Número total de páginas no ficheiro de dados. |
allocated_extent_page_count |
bigint |
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. Número total de páginas nas extensões alocadas no ficheiro de dados. |
unallocated_extent_page_count |
bigint | Número total de páginas nas extensões não alocadas no ficheiro de dados. As páginas não utilizadas em extensões alocadas não estão incluídas. |
version_store_reserved_page_count |
bigint | Número total de páginas nas extensões uniformes atribuídas ao armazenamento de versões. As páginas da loja de versões nunca são atribuídas a partir de graus mistos. As páginas IAM não estão incluídas, porque são sempre atribuídas em graus mistos. As páginas do PFS são incluídas se forem atribuídas a partir de uma extensão uniforme. Para mais informações, consulte sys.dm_tran_version_store (Transact-SQL). |
user_object_reserved_page_count |
bigint | Número total de páginas alocadas a partir de extensões uniformes para objetos de utilizador na base de dados. As páginas não utilizadas de uma extensão alocada são incluídas na contagem. As páginas IAM não estão incluídas, porque são sempre atribuídas em graus mistos. As páginas do PFS são incluídas se forem atribuídas a partir de uma extensão uniforme. Pode usar a total_pages coluna na vista de catálogo sys.allocation_units para devolver a contagem de páginas reservada de cada unidade de alocação no objeto utilizador. No entanto, a total_pages coluna inclui páginas do IAM. |
internal_object_reserved_page_count |
bigint | Número total de páginas em extensões uniformes alocadas para objetos internos no ficheiro. As páginas não utilizadas de uma extensão alocada são incluídas na contagem. As páginas IAM não estão incluídas, porque são sempre atribuídas em graus mistos. As páginas do PFS são incluídas se forem atribuídas a partir de uma extensão uniforme. Não existe vista de catálogo nem objeto de gestão dinâmica que devolve a contagem de páginas de cada objeto interno. |
mixed_extent_page_count |
bigint | Número total de páginas alocadas e não alocadas em extensões mistas alocadas no ficheiro. Extensões mistas contêm páginas alocadas a diferentes objetos. Esta contagem inclui todas as páginas IAM no ficheiro. |
modified_extent_page_count |
bigint |
Aplica-se a: SQL Server 2016 (13.x) SP2 e versões posteriores. Número total de páginas modificadas nas extensões alocadas do ficheiro desde a última cópia de segurança completa da base de dados. A contagem de páginas modificada pode ser usada para acompanhar o número de alterações diferenciais na base de dados desde o último backup completo, para decidir se é necessário fazer backup diferencial. |
pdw_node_id |
int |
Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O identificador do nó em que esta distribuição se encontra. |
distribution_id |
int |
Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O ID numérico único associado à distribuição. |
Observações
A contagem de páginas está sempre ao nível da extensão. Portanto, os valores do número de páginas são sempre múltiplos de oito. As extensões que contêm páginas de alocação do Mapa Global de Alocação (GAM) e do Mapa Global de Alocação Partilhado (SGAM) são extensões uniformes alocadas. Eles não estão incluídos nas contagens de páginas descritos anteriormente. Para obter mais informações sobre páginas e extensões, consulte Guia de arquitetura de páginas e extensões.
O conteúdo da loja de versões atual está em sys.dm_tran_version_store. As páginas da loja de versões são acompanhadas ao nível do ficheiro em vez do nível da sessão e da tarefa, porque são recursos globais. Uma sessão pode gerar versões, mas as versões não podem ser removidas quando a sessão termina. A limpeza da loja de versões deve considerar a transação de maior duração que necessita de acesso à versão em questão. A transação mais longa relacionada com a limpeza da loja de versões pode ser descoberta ao visualizar a coluna elapsed_time_seconds em sys.dm_tran_active_snapshot_database_transactions.
Alterações frequentes na mixed_extent_page_count coluna podem indicar uso intensivo de páginas SGAM. Quando isto acontece, pode ver muitas PAGELATCH_UP esperas em que o recurso de espera é uma página SGAM. Para mais informações, veja sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL) e sys.dm_os_latch_stats (Transact-SQL).
Objetos de utilizador
Os seguintes objetos estão incluídos nos contadores da página de objetos de utilizador:
- Tabelas e índices definidos pelo utilizador
- Tabelas e índices do sistema
- Tabelas e índices temporários globais
- Tabelas e índices temporários locais
- Variáveis da tabela
- Tabelas devolvidas nas funções com valores de tabela
Objetos internos
Os objetos internos estão apenas em tempdb. Os seguintes objetos estão incluídos nos contadores internos da página de objetos:
- Tabelas de trabalho para operações de cursor ou spool e armazenamento temporário de objetos grandes (LOB)
- Ficheiros de trabalho para operações como uma junção por hash
- Ordenar tarefas
Cardinalidades de relacionamento
| De | Para | Relacionamento |
|---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
One-to-one |
Permissions
No SQL Server 2019 (15.x) e versões anteriores, e no SQL Managed Instance, requer VIEW SERVER STATE permissão.
No SQL Server 2022 (16.x) e versões posteriores, requer permissão VIEW SERVER PERFORMANCE STATE no servidor.
No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.
Examples
Determinar a quantidade de espaço livre em tempdb
A consulta seguinte devolve o número total de páginas livres e o espaço livre total em megabytes (MB) disponíveis em todos os ficheiros de dados em tempdb.
USE tempdb;
GO
SELECT
SUM(unallocated_extent_page_count) AS [free pages],
(SUM(unallocated_extent_page_count) * 1.0 / 128) AS [free space in MB]
FROM sys.dm_db_file_space_usage;
Determinar a quantidade de espaço usada pelos objetos do utilizador
A consulta seguinte devolve o número total de páginas usadas pelos objetos de utilizador e o espaço total utilizado pelos objetos de utilizador em tempdb.
USE tempdb;
GO
SELECT
SUM(user_object_reserved_page_count) AS [user object pages used],
(SUM(user_object_reserved_page_count) * 1.0 / 128) AS [user object space in MB]
FROM sys.dm_db_file_space_usage;