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: do Banco de Dados SQL do Azure
A sys.dm_hs_database_log_rate função de gerenciamento dinâmico (DMF) retorna informações sobre a taxa de geração de log no Hiperdimensionamento do Banco de Dados SQL do Azure.
Cada linha no conjunto de resultados representa um componente que controla (reduz) a taxa de geração de logs em um banco de dados Hyperscale. Há vários componentes na arquitetura de camada Hyperscale que podem reduzir a taxa de geração de logs para manter o desempenho do banco de dados estável e equilibrado.
Certos tipos de componentes, como réplicas de computação secundárias ou servidores de página, podem reduzir temporariamente a taxa de geração de logs na réplica de computação primária para garantir a integridade e a estabilidade gerais do banco de dados.
Se a taxa de geração de log não for reduzida por nenhum componente, uma linha será retornada para o componente de réplica de computação primário, mostrando a taxa máxima de geração de log permitida para o banco de dados.
Essa função de gerenciamento dinâmico retorna linhas somente quando a sessão está conectada à réplica primária.
Sintaxe
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
database_id
database_id é um inteiro que representa a ID do banco de dados, sem valor padrão. As entradas válidas são um ID de banco de dados ou NULL.
Quando um database_id é fornecido, sys.dm_hs_database_log_rate retorna uma linha para esse banco de dados específico.
Quando não fornecido ou quando NULL é fornecido, para um único banco de dados, retorna uma linha para o banco de dados atual. Para um banco de dados em um pool elástico, retorna linhas para todos os bancos de dados no pool onde o chamador tem permissões suficientes.
A função interna DB_ID pode ser especificada.
Tabela retornada
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
database_id |
Int NÃO NULO | Identificador da base de dados. Os valores são exclusivos dentro de um único banco de dados ou um pool elástico, mas não dentro de um servidor lógico. |
replica_id |
uniqueidentifier NÃO NULO | Identificador de uma réplica de computação que corresponde à replica_id coluna em sys.dm_database_replica_states.
NULL quando component_id corresponde a um servidor de página Hyperscale.Esse valor é retornado pela chamada de DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') função quando conectado à réplica. |
file_id |
Int NULO | ID do arquivo de banco de dados dentro do banco de dados que corresponde ao servidor de página que limita a taxa de geração de log. Será preenchido somente se a função for servidor de página, caso contrário, retornará NULL. Este valor corresponde à file_id coluna em sys.database_files. |
current_max_log_rate |
bigint NÃO NULO | O limite atual da taxa máxima de log para a taxa de geração de log na réplica de computação primária, em bytes/seg. Se nenhum componente estiver reduzindo a taxa de geração de log, informará o limite de taxa de geração de log para um banco de dados Hyperscale. |
component_id |
uniqueidentifier NÃO NULO | Um identificador exclusivo de um componente Hyperscale, como um servidor de página ou uma réplica de computação. |
role |
Smallint NÃO NULO | Todas as funções de componentes existentes que podem reduzir a geração de logs.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Quando a taxa de geração de log é limitada, os seguintes tipos de espera correspondentes a cada função podem ser observados na réplica de computação primária: 1 - RBIO_RG_STORAGE 4 - RBIO_RG_REPLICA 5 - RBIO_RG_LOCALDESTAGE 6 - RBIO_RG_DESTAGE 10 - RBIO_RG_GEOREPLICA 12 - RBIO_RG_STORAGE_CHECKPOINT 14 - RBIO_RG_MIGRATION_TARGET Para obter mais informações, consulte Esperas de limitação da taxa de log |
role_desc |
Nvarchar(60) NÃO NULO |
Unknown = A função do componente não é conhecidaStorage = Servidor(es) de páginaPrimary = Réplica de computação primáriaReplica = Réplica de computação secundária, como uma réplica de alta disponibilidade (HA) ou uma réplica nomeada.LocalDestage = Serviço de registoDestage = Armazenamento de log de longo prazoGeoReplica = Réplica geo-secundáriaStorageCheckpoint = Um ponto de verificação em um servidor de páginaMigrationTarget = O banco de dados de destino durante a migração reversa de um banco de dados Hyperscale para um banco de dados não-Hyperscale. |
catchup_rate |
bigint NÃO NULO | Taxa de recuperação em bytes/seg. Retorna zero quando a taxa de log não é reduzida. |
catchup_bytes |
bigint NÃO NULO | A quantidade de log de transações, em bytes, que um componente deve aplicar para alcançar a réplica de computação primária. Retorna 0 quando o componente é recuperado. |
last_reported_time |
datetime | A última vez que o serviço de log Hyperscale relatou valores. |
Observações
A sys.dm_hs_database_log_rate função de gerenciamento dinâmico se aplica somente à camada Hyperscale do Banco de Dados SQL do Azure.
Na camada de serviço Hyperscale do Banco de Dados SQL do Azure, o serviço de log garante que os componentes distribuídos não fiquem muito atrasados na aplicação do log de transações. Isso é necessário para manter a integridade e a estabilidade gerais do sistema. Quando os componentes estão atrasados e sua taxa de recuperação é menor do que a taxa de geração de log atual, o serviço de log reduz a taxa de geração de log no primário. O sys.dm_hs_database_log_rate() DMF pode ser usado para entender qual componente está causando a redução na taxa de log e em que medida, e por quanto tempo a redução da taxa de log pode durar.
Para obter mais contexto sobre a redução da taxa de log, consulte Diagnóstico de desempenho no Hyperscale.
Permissions
Esta função de gerenciamento dinâmico requer a permissão VIEW DATABASE PERFORMANCE STATE .
Examples
A. Retornar o componente que causa a redução da taxa de log em um banco de dados específico
O exemplo a seguir retorna uma linha para o componente que causa a redução da taxa de log. Se a taxa de geração de log não for reduzida por nenhum componente, uma linha será retornada para a computação primária, mostrando a taxa máxima de geração de log permitida para o banco de dados.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(DB_ID(N'Contosodb'));
B. Retornar os componentes que causam redução da taxa de log
Quando conectado a um banco de dados em um pool elástico, o exemplo a seguir retorna uma linha para o componente que causa a redução da taxa de log, para cada banco de dados no pool em que você tem permissões suficientes. Quando conectado a um único banco de dados, retorna a linha do banco de dados.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);