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
Base de Dados SQL do Azure
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;