Execute consultas SQL na instância RDS para inspecionar o uso de memória em dois níveis: alocação do buffer pool por banco de dados e distribuição de memória entre os componentes internos do SQL Server.
Comece pela consulta do buffer pool para identificar o banco de dados que mais consome memória. Se um banco específico estiver usando uma quantidade desproporcional, use a consulta de memory clerks para entender como o SQL Server distribui a memória entre seus subsistemas.
Antes de executar operações de alto risco, como modificar configurações ou dados de instâncias da Alibaba Cloud, verifique os recursos de recuperação de desastres e tolerância a falhas das instâncias para garantir a segurança dos dados.
Antes de modificar as configurações ou dados de uma instância, como uma instância do Elastic Compute Service (ECS) ou RDS, crie snapshots ou ative o backup da instância. Por exemplo, ative o backup de log para uma instância RDS.
Caso tenha concedido permissões sobre informações sensíveis ou enviado essas informações no Alibaba Cloud Management Console, modifique-as (como nomes de usuário e senhas) o mais rápido possível.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma instância do ApsaraDB RDS for SQL Server
Um cliente conectado à instância. Para instruções de configuração, consulte Connect to an ApsaraDB RDS for SQL Server instance
Visualizar o uso do buffer pool por banco de dados
Execute esta consulta para verificar quanto do buffer pool cada banco de dados ocupa, classificado do maior para o menor:
SELECT COUNT(*) * 8 / 1024 AS "Cache Size(MB)",
CASE
WHEN Database_ID = 32767 THEN 'ResourceDb'
ELSE DB_NAME(Database_ID)
END AS "Database"
FROM sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(Database_ID),
Database_ID
ORDER BY "Cache Size(MB)" DESC;
O resultado mostra o cache do buffer pool consumido por cada banco de dados em MB. O ResourceDb (Database_ID 32767) é o banco de dados interno do sistema SQL Server.
Use esta consulta primeiro para identificar qual banco de dados consome mais memória. Se um único banco representar uma parcela desproporcionalmente grande, esse será um ponto de partida útil para investigações adicionais.
Visualizar o uso de memória por componente
Execute esta consulta para ver como a memória se distribui entre os componentes internos de memória do SQL Server (memory clerks):
SELECT * FROM sys.dm_os_memory_clerks;
Use esta consulta para entender como o SQL Server aloca memória entre seus subsistemas — por exemplo, se o buffer pool, o plan cache ou a memória de execução é o consumidor predominante.
Próximos passos
Para dúvidas relacionadas a armazenamento, consulte FAQ about storage capacity.