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
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Devolve objetos de memória atualmente alocados pelo SQL Server. Pode usar sys.dm_os_memory_objects para analisar o uso de memória e identificar possíveis fugas de memória.
Observação
Para chamar isto do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_os_memory_objects. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| memory_object_address | varbinary(8) | Endereço do objeto de memória. Não é anulável. |
| parent_address | varbinary(8) | Endereço do objeto de memória pai. É anulável. |
| pages_allocated_count | int |
Aplica-se a: SQL Server 2008 (10.0.x) através do SQL Server 2008 R2 (10.50.x). Número de páginas alocadas por este objeto. Não é anulável. |
| pages_in_bytes | bigint |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Quantidade de memória em bytes que é alocada por esta instância do objeto de memória. Não é anulável. |
| creation_options | int | Apenas para uso interno. É anulável. |
| bytes_used | bigint | Apenas para uso interno. É anulável. |
| type | nvarchar(60) | Tipo de objeto de memória. Isto indica algum componente a que este objeto de memória pertence, ou a função do objeto de memória. É anulável. |
| name | Varchar(128) | Apenas para uso interno. Nullable. |
| memory_node_id | smallint | ID de um nó de memória que está a ser usado por este objeto de memória. Não é anulável. |
| creation_time | datetime | Apenas para uso interno. É anulável. |
| max_pages_allocated_count | int |
Aplica-se a: SQL Server 2008 (10.0.x) através do SQL Server 2008 R2 (10.50.x). Número máximo de páginas alocadas por este objeto de memória. Não é anulável. |
| page_size_in_bytes | int |
Aplica-se a: SQL Server 2012 (11.x) e posterior. Tamanho das páginas em bytes alocados por este objeto. Não é anulável. |
| max_pages_in_bytes | bigint | Quantidade máxima de memória alguma vez usada por este objeto de memória. Não é anulável. |
| page_allocator_address | varbinary(8) | Endereço de memória do alocador de página. Não é anulável. Para mais informações, consulte sys.dm_os_memory_clerks (Transact-SQL). |
| creation_stack_address | varbinary(8) | Apenas para uso interno. É anulável. |
| sequence_num | int | Apenas para uso interno. É anulável. |
| partition_type | int |
Aplica-se a: SQL Server 2016 (13.x) e posterior. O tipo de partição: 0 - Objeto de memória não particionável 1 - Objeto de memória particionável, atualmente não particionado 2 - Objeto de memória particionável, particionado pelo nó NUMA. Num ambiente com um único nó NUMA, isto equivale a 1. 3 - Objeto de memória particionável, particionado pela CPU. |
| contention_factor | real |
Aplica-se a: SQL Server 2016 (13.x) e posterior. Um valor que especifica contenção neste objeto de memória, sendo 0 o que significa sem contenção. O valor é atualizado sempre que um número especificado de alocações de memória foi feito refletindo a contenção durante esse período. Aplica-se apenas a objetos de memória thread-safe. |
| waiting_tasks_count | bigint |
Aplica-se a: SQL Server 2016 (13.x) e posterior. Número de esperas neste objeto de memória. Este contador é incrementado sempre que a memória é alocada a partir deste objeto de memória. O incremento é o número de tarefas atualmente à espera de acesso a este objeto de memória. Aplica-se apenas a objetos de memória thread-safe. Este é o melhor valor do esforço sem garantia de correção. |
| exclusive_access_count | bigint |
Aplica-se a: SQL Server 2016 (13.x) e posterior. Especifica com que frequência este objeto de memória foi acedido exclusivamente. Aplica-se apenas a objetos de memória thread-safe. Este é o melhor valor do esforço sem garantia de correção. |
| 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. |
partition_type, contention_factor, waiting_tasks_count e exclusive_access_count ainda não estão implementados na base de dados SQL.
Permissions
No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.
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##.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Observações
Os objetos de memória são montes. Fornecem alocações com uma granularidade mais fina do que as fornecidas pelos assistentes de memória. Os componentes do SQL Server usam objetos de memória em vez de memory clerks. Os objetos de memória utilizam a interface de alocação de páginas do memory clerk para alocar páginas. Os objetos de memória não utilizam interfaces de memória virtual ou partilhada. Dependendo dos padrões de alocação, os componentes podem criar diferentes tipos de objetos de memória para alocar regiões de tamanho arbitrário.
O tamanho típico de página para um objeto de memória é de 8 KB. No entanto, objetos de memória incremental podem ter tamanhos de página que variam entre 512 bytes e 8 KB.
Observação
O tamanho da página não é uma alocação máxima. Em vez disso, o tamanho da página é a granularidade de alocação suportada por um alocador de páginas e implementada por um memory clerk. Pode pedir alocações superiores a 8 KB a objetos de memória.
Examples
O exemplo seguinte devolve a quantidade de memória alocada por cada tipo de objeto de memória.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Consulte também
Exibições de gerenciamento dinâmico relacionadas ao sistema operacional SQL Server (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)