Compartir a través de


Estadísticas guardadas para componentes secundarios legibles

Se aplica a:SQL Server 2025 (17.x) Versión preliminarBase de datos SQL de AzureBase de datos SQL en Microsoft Fabric

Nota:

El Almacén de consultas para secundarias legibles se introdujo en SQL Server 2022 y la característica Estadísticas persistentes para secundarias legibles usa la infraestructura que el Almacén de consultas para secundarias legibles tiene en su lugar. El Almacén de consultas para secundarias legibles está activado de forma predeterminada en SQL Server 2025, mientras que en SQL Server 2022 estaba desactivado y requería la marca de seguimiento 12606 para habilitar. La marca 12606 de seguimiento es not necesaria en SQL Server 2025 y versiones posteriores y, si se usa, provocará que la característica Almacén de Consultas para bases de datos secundarias legibles se desactive.

Contexto

En las réplicas secundarias legibles, las estadísticas también se pueden crear automáticamente cuando se habilita la opción de estadísticas de creación automática, pero esas estadísticas son temporales y desaparecen cuando se reinicia una instancia. Cuando faltan estadísticas en una base de datos de solo lectura o una instantánea de solo lectura o están obsoletas, el motor de base de datos crea y mantiene estadísticas temporales en tempdb. Cuando el motor de base de datos crea estadísticas temporales, el nombre de las estadísticas se anexa con el sufijo _readonly_database_statistic para diferenciar las estadísticas temporales de las estadísticas permanentes. El sufijo _readonly_database_statistic está reservado para las estadísticas generadas por SQL Server. La razón por la que se tomó este enfoque era abordar las cargas de trabajo que se ejecutan en réplicas secundarias legibles que podrían requerir estadísticas distintas que no existen en la réplica principal.

Con la adición del Almacén de consultas para secundarias legibles, las réplicas secundarias tienen un canal de comunicación de vuelta a la réplica principal, que se usa actualmente para enviar datos del almacén de consultas (consultas, planes, estadísticas de ejecución, etc.) al principal para conservarlos en la base de datos y ponerlos a disposición para realizar consultas.

Se usa un mecanismo similar para devolver información de estadísticas a la principal y, posteriormente, devolverla a todas las réplicas secundarias. Las estadísticas temporales que se crean en cualquier réplica secundaria que se almacenen en se enviarán y se conservarán en tempdb la réplica principal, lo que hará que todas las réplicas secundarias legibles puedan usarlas.

Soporte para vistas de catálogo

Para admitir la comparación de la creación y actualización de estadísticas entre la secundaria y la principal, y para ayudar a comprender dónde se crearon las estadísticas, se han agregado tres columnas nuevas a la vista de catálogo sys.stats.

Nombre de la columna Tipo de datos Descripción
replica_role_id tinyint Identifica el número de conjunto de réplicas de esta réplica. 1 = Principal, 2 = Secundario, 3 = Reenviador de replicación geográfica, 4 = Geo HA Secondary
replica_role_desc nvarchar(60) Primario, Secundario, Reenviador de Replicación Geográfica, Secundario de Alta Disponibilidad Geográfica
replica_name sysname Nombre de la instancia de réplica en el grupo de disponibilidad. Será NULL para la réplica principal.