Compartir a través de


sys.dm_hs_database_log_rate (Transact-SQL)

se aplica a: de Azure SQL Database

La sys.dm_hs_database_log_rate función de administración dinámica (DMF) devuelve información sobre la tasa de generación de registros en Hiperescala de Azure SQL Database.

Cada fila del conjunto de resultados representa un componente que controla (reduce) la tasa de generación de registros en una base de datos de Hiperescala. Hay varios componentes en la arquitectura del nivel hiperescala que podrían reducir la tasa de generación de registros para mantener el rendimiento de la base de datos estable y equilibrado.

Algunos tipos de componentes, como réplicas de proceso secundarias o servidores de páginas, pueden reducir temporalmente la tasa de generación de registros en la réplica de proceso principal para garantizar el estado y la estabilidad generales de la base de datos.

Si la tasa de generación de registros no se reduce en ningún componente, se devuelve una fila para el componente de réplica de proceso principal, que muestra la tasa máxima de generación de registros permitida para la base de datos.

Esta función de administración dinámica devuelve filas solo cuando la sesión está conectada a la réplica principal.

Syntax

sys.dm_hs_database_log_rate ( 
{ database_id | NULL }                                     
)                             

Arguments

ID de base de datos

database_id es un entero que representa el identificador de base de datos, sin ningún valor predeterminado. Las entradas válidas son un identificador de base de datos o NULL.

Cuando se proporciona sys.dm_hs_database_log_rate , database_id devuelve una fila para esa base de datos específica.

Cuando no se proporciona o cuando NULL se proporciona, para una base de datos única, devuelve una fila para la base de datos actual. Para una base de datos de un grupo elástico, devuelve filas para todas las bases de datos del grupo donde el autor de la llamada tiene permisos suficientes.

Se puede especificar la función integrada DB_ID .

Tabla devuelta

Nombre de la columna Tipo de dato Description
database_id Int NOT NULL Identificador de la base de datos. Los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico.
replica_id uniqueidentifier NOT NULL Identificador de una réplica de proceso que corresponde a la replica_id columna de sys.dm_database_replica_states. NULL cuando component_id corresponde a un servidor de páginas de Hiperescala.

La llamada de función devuelve DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') este valor cuando está conectado a la réplica.
file_id Int NULO Identificador del archivo de base de datos dentro de la base de datos que corresponde al servidor de páginas que limita la tasa de generación de registros. Solo se rellenará si el rol es el servidor de páginas; de lo contrario, devuelve NULL. Este valor corresponde a la file_id columna de sys.database_files.
current_max_log_rate bigint NOT NULL Límite de velocidad máxima de registro actual para la tasa de generación de registros en la réplica de proceso principal, en bytes/s. Si ningún componente reduce la tasa de generación de registros, notifica el límite de velocidad de generación de registros para una base de datos de Hiperescala.
component_id uniqueidentifier NOT NULL Identificador único de un componente de Hiperescala, como un servidor de páginas o una réplica de proceso.
role smallint NOT NULL Todos los roles de componente existentes que pueden reducir la generación de registros.

Unknown = 0
Storage = 1
Primary = 2
Replica = 4
LocalDestage = 5
Destage = 6
GeoReplica = 10
StorageCheckpoint = 12
MigrationTarget = 14
Cuando la tasa de generación de registros es limitada, es posible que se observen los siguientes tipos de espera correspondientes a cada rol en la réplica de proceso principal:
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 más información, consulte Esperas de limitación de velocidad de registro.
role_desc nvarchar(60) NOT NULL Unknown = No se conoce el rol de componente
Storage = Servidores de página
Primary = Réplica de proceso principal
Replica = Réplica de proceso secundaria, como una réplica de alta disponibilidad (HA) o una réplica con nombre.
LocalDestage = Servicio de registro
Destage = Almacenamiento de registros a largo plazo
GeoReplica = Réplica secundaria geográfica
StorageCheckpoint = Un punto de control en un servidor de páginas
MigrationTarget = La base de datos de destino durante la migración inversa de Hiperescala a una base de datos que no es hiperescala.
catchup_rate bigint NOT NULL Tasa de captura en bytes/s. Devuelve cero cuando no se reduce la tasa de registro.
catchup_bytes bigint NOT NULL Cantidad de registro de transacciones, en bytes, que un componente debe aplicar para ponerse al día con la réplica de proceso principal. Devuelve 0 cuando se detecta el componente.
last_reported_time datetime La última vez que el servicio de registro de Hiperescala notificó los valores.

Observaciones

La sys.dm_hs_database_log_rate función de administración dinámica solo se aplica al nivel hiperescala de Azure SQL Database.

En el nivel de servicio Hiperescala de Azure SQL Database, el servicio de registro garantiza que los componentes distribuidos no se lejos de aplicar el registro de transacciones. Esto es necesario para mantener el mantenimiento general del sistema y la estabilidad. Cuando los componentes están detrás y su tasa de puesta al día es menor que la tasa de generación de registros actual, el servicio de registro reduce la tasa de generación de registros en la principal. La sys.dm_hs_database_log_rate() DMF se puede usar para comprender qué componente está causando la reducción de la tasa de registro y hasta qué punto, y durante cuánto tiempo puede durar la reducción de la tasa de registro.

Para obtener más contexto sobre la reducción de velocidad de registro, consulte Diagnósticos de rendimiento en Hiperescala.

Permissions

Esta función de administración dinámica requiere el permiso VIEW DATABASE PERFORMANCE STATE .

Examples

A. Devolver el componente que provoca una reducción de la tasa de registro en una base de datos específica

En el ejemplo siguiente se devuelve una fila para el componente que provoca la reducción de la tasa de registro. Si la tasa de generación de registros no se reduce en ningún componente, se devolverá una fila para el proceso principal, que muestra la tasa máxima de generación de registros permitida para la base de datos.

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. Devolver los componentes que provocan la reducción de la tasa de registro

Cuando se conecta a una base de datos de un grupo elástico, en el ejemplo siguiente se devuelve una fila para el componente que provoca la reducción de la tasa de registro, para cada base de datos del grupo en la que tiene permisos suficientes. Cuando se conecta a una base de datos única, devuelve la fila de la base de datos.

SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes 
FROM sys.dm_hs_database_log_rate(NULL);