Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do Azure
A sys.dm_hs_database_log_rate DMF (função de gerenciamento dinâmico) retorna informações sobre a taxa de geração de log na Hiperescala 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 log em um banco de dados de Hiperescala. Há vários componentes na arquitetura da camada de Hiperescala que podem reduzir a taxa de geração de logs para manter o desempenho do banco de dados estável e equilibrado.
Determinados 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 log 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ária, mostrando a taxa de geração de log máxima 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 uma ID de banco de dados ou NULL.
Quando um database_id for fornecido, sys.dm_hs_database_log_rate retornará uma linha para esse banco de dados específico.
Quando não for fornecido ou quando NULL for fornecido, para um banco de dados individual, retornará 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 em que 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 NULL | Identificador do banco de dados. Os valores são exclusivos em um único banco de dados ou em um pool elástico, mas não dentro de um servidor lógico. |
replica_id |
uniqueidentifier NÃO NULL | 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 de Hiperescala.Esse valor é retornado pela chamada de DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') função quando conectado à réplica. |
file_id |
int ZERO | ID do arquivo de banco de dados no banco de dados que corresponde ao servidor de página limitando a taxa de geração de log. Será populado somente se a função for servidor de página, caso contrário, retornará NULL. Esse valor corresponde à file_id coluna em sys.database_files. |
current_max_log_rate |
bigint NÃO NULL | O limite de taxa de log máximo atual para a taxa de geração de log na réplica de computação primária, em bytes/s. Se nenhum componente estiver reduzindo a taxa de geração de log, relatará o limite de taxa de geração de log para um banco de dados de Hiperescala. |
component_id |
uniqueidentifier NÃO NULL | Um identificador exclusivo de um componente da Hiperescala, como um servidor de página ou uma réplica de computação. |
role |
smallint NÃO NULL | Todas as funções de componente existentes que podem reduzir a geração de log.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 As esperas de limitação da taxa de log |
role_desc |
nvarchar(60) NÃO NULL |
Unknown = A função de componente não é conhecidaStorage = Servidores de página(s)Primary = 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 logDestage = 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 da Hiperescala para um banco de dados não hiperescala. |
catchup_rate |
bigint NÃO NULL | Taxa de captura em bytes/s. Retorna zero quando a taxa de log não é reduzida. |
catchup_bytes |
bigint NÃO NULL | A quantidade de log de transações, em bytes, que um componente deve aplicar para acompanhar a réplica de computação primária. Retorna 0 quando o componente é capturado. |
last_reported_time |
datetime | A última vez que o serviço de log de hiperescala relatou valores. |
Observações
A sys.dm_hs_database_log_rate função de gerenciamento dinâmico aplica-se apenas à camada de Hiperescala do Banco de Dados SQL do Azure.
Na camada de serviço hiperescala do Banco de Dados SQL do Azure, o serviço de log garante que os componentes distribuídos não ficam 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 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 até que ponto, 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 o diagnóstico de desempenho na Hiperescala.
Permissions
Essa função de gerenciamento dinâmico requer a permissão VIEW DATABASE PERFORMANCE STATE .
Exemplos
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 de geração de log máxima 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 a 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);