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:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Contém uma linha para cada unidade de alocação no banco de dados.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| allocation_unit_id | bigint | ID da unidade de repartição. É exclusivo dentro de um banco de dados. |
| tipo | tinyint | Tipo de unidade de repartição: 0 = Caiu 1 = Dados em linha (todos os tipos de dados, exceto os tipos de dados LOB) 2 = Dados de objeto grande (LOB) (texto, ntext, imagem, xml, tipos de valor grande e tipos definidos pelo usuário CLR) 3 = Dados de estouro de linha |
| type_desc | nvarchar(60) | Descrição do tipo de unidade de atribuição: LARGADO IN_ROW_DATA LOB_DATA ROW_OVERFLOW_DATA |
| container_id | bigint | ID do recipiente de armazenamento associado à unidade de alocação. Se tipo = 1 ou 3 em um índice de armazenamento de linha container_id = sys.partitions.hobt_id. Se digitar = 1 ou 3 em um índice columnstore, container_id = sys.column_store_row_groups.delta_store_hobt_id. Se o tipo for 2, então container_id = sys.partitions.partition_id. 0 = Unidade de alocação marcada para queda diferida |
| data_space_id | int | ID do grupo de arquivos no qual essa unidade de alocação reside. |
| total_pages | bigint | Número total de páginas atribuídas ou reservadas por esta unidade de repartição. |
| used_pages | bigint | Número total de páginas efetivamente utilizadas. |
| data_pages | bigint | Número de páginas usadas que têm: Dados em linha Dados LOB Dados de overflow de linhas Observe que o valor retornado exclui páginas de índice interno e páginas de gerenciamento de alocação. |
Note
Quando você solta ou reconstrói índices grandes, solta tabelas grandes ou trunca tabelas ou partições grandes, o Mecanismo de Banco de Dados adia os locais de negociação de página reais e seus bloqueios associados até que a transação seja confirmada. As operações de queda diferida não liberam espaço alocado imediatamente. Portanto, os valores retornados por sys.allocation_units imediatamente após soltar ou truncar um objeto grande podem não refletir o espaço em disco real disponível.
Quando a Recuperação Acelerada de Banco de Dados está habilitada, a queda adiada é usada independentemente do tamanho do objeto.
Permissions
Requer adesão à função pública de . Para obter mais informações, consulte Configuração de visibilidade de metadados.
Examples
Determinar o espaço usado por objeto e tipo de uma unidade de alocação
A consulta a seguir retorna todas as tabelas de usuário em um banco de dados e a quantidade de espaço usada em cada uma, por tipo de unidade de alocação.
SELECT t.object_id AS ObjectID,
OBJECT_NAME(t.object_id) AS ObjectName,
SUM(u.total_pages) * 8 AS Total_Reserved_kb,
SUM(u.used_pages) * 8 AS Used_Space_kb,
u.type_desc AS TypeDesc,
MAX(p.rows) AS RowsCount
FROM sys.allocation_units AS u
JOIN sys.partitions AS p ON u.container_id = p.hobt_id
JOIN sys.tables AS t ON p.object_id = t.object_id
GROUP BY t.object_id,
OBJECT_NAME(t.object_id),
u.type_desc
ORDER BY Used_Space_kb DESC,
ObjectName;
Ver também
sys.partitions (Transact-SQL)
Exibições do catálogo de objetos (Transact-SQL)
Visualizações do catálogo (Transact-SQL)