Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
SQL Server 2022 (16.x)
La característica Almacén de consultas para secundarias legibles habilita la misma funcionalidad del Almacén de consultas en las cargas de trabajo de réplica secundaria que están disponibles para las réplicas principales. Cuando el Almacén de consultas para réplicas secundarias está habilitado, las réplicas envían la información de ejecución de consultas que normalmente se almacenaría en el Almacén de consultas de vuelta a la réplica principal. A continuación, la réplica principal conserva los datos en el disco dentro de su propio almacén de consultas. En esencia, hay un almacén de consultas compartido entre la réplica principal y todas las secundarias. El Almacén de consultas existe en la réplica principal y almacena datos para todas las réplicas juntas. Actualmente, el Almacén de consultas para réplicas secundarias está disponible con instancias de SQL Server 2022 (16.x) configuradas en grupos de disponibilidad.
Observaciones
Almacén de consultas para secundarias legibles es una característica en versión preliminar. No está pensado para implementaciones de producción. Para obtener más información, vea notas de la versión de SQL Server 2022.
Debe habilitar la marca de seguimiento 12606 para poder habilitar el Almacén de consultas para secundarias legibles. Para habilitar las marcas de seguimiento:
En Windows, inicie el Administrador de configuración de SQL Server.
En la lista de servicios de SQL Server, haga clic con el botón derecho en el servicio de instancia de SQL Server para la instancia de SQL Server 2022 (16.x). Selecciona Propiedades.
Seleccione la pestaña Parámetros de inicio . En el campo Especificar un parámetro de inicio: , agregue los valores:
-T12606
y seleccione Agregar.El servicio de instancia de SQL Server debe reiniciarse antes de que los cambios surtan efecto.
Nota:
A partir de la versión preliminar de SQL Server 2025 (17.x), el Almacén de consultas para secundarias legibles no está en versión preliminar y está habilitado de forma predeterminada. La marca de seguimiento 12606 ya no es necesaria para usar el Almacén de consultas para la característica secundaria legible. Habilitar la marca de seguimiento 12606 en la versión preliminar de SQL Server 2025 (17.x) deshabilita la característica Query Store para secundarias legibles.
Habilitar el Almacén de Consultas para réplicas secundarias legibles
Antes de usar el Almacén de consultas para secundarias legibles en una instancia de SQL Server, debe tener un grupo de disponibilidad AlwaysOn. A continuación, habilite el Almacén de Consultas para secundarias legibles mediante las opciones ALTER DATABASE SET.
Si Query Store aún no está habilitado en la réplica principal y en modo READ_WRITE
, debe habilitarlo antes de continuar. Ejecute lo siguiente para cada base de datos deseada en la réplica principal:
ALTER DATABASE [Database_Name] SET QUERY_STORE = ON;
GO
ALTER DATABASE [Database_Name] SET QUERY_STORE
( OPERATION_MODE = READ_WRITE );
Para habilitar el Almacén de consultas en todos los secundarios legibles, conéctese a la réplica principal y ejecute lo siguiente para cada base de datos deseada. Actualmente, cuando el Almacén de consultas para secundarias legibles se habilita, se activa para todas las réplicas secundarias.
ALTER DATABASE [Database_Name]
FOR SECONDARY SET QUERY_STORE = ON (OPERATION_MODE = READ_WRITE );
GO
Para deshabilitar el Almacén de consultas en todas las réplicas secundarias, conéctese a la réplica principal y ejecute lo siguiente para cada base de datos deseada:
ALTER DATABASE [Database_Name]
FOR SECONDARY SET QUERY_STORE = OFF;
GO
Puede validar que el Almacén de consultas está habilitado en una réplica secundaria si se conecta a la base de datos en la réplica secundaria y ejecuta lo siguiente:
SELECT desired_state,
desired_state_desc,
actual_state,
actual_state_desc,
readonly_reason
FROM sys.database_query_store_options;
GO
Los siguientes resultados de ejemplo de la consulta sys.database_query_store_options indican que el Almacén de consultas está en un estado de READ_CAPTURE_SECONDARY para el servidor secundario. El readonly_reason
de 8
indica que la consulta se ejecutó en una réplica secundaria. Estos resultados indican que el Almacén de consultas se ha habilitado correctamente en la réplica secundaria.
estado deseado | descripción_del_estado_deseado | estado_actual | descripcion_estado_actual | razón de solo lectura |
---|---|---|---|---|
4 | LEER_CAPTURA_SECUNDARIA | 4 | LEER_CAPTURA_SECUNDARIA | 8 |
Una vez habilitado, puede usar sys.query_store_replicas para comprobar el estado del Almacén de consultas en la réplica secundaria.
Para deshabilitar Query Store para secundarias legibles, conéctese a la réplica principal de la base de datos y ejecute el código siguiente:
ALTER DATABASE CURRENT
FOR SECONDARY SET QUERY_STORE = OFF;
GO
Conjuntos de réplicas
Actualmente, cuando el Almacén de consultas para secundarias legibles se habilita, se activa para todas las réplicas secundarias.
Un conjunto de réplicas se define como todas las réplicas sin nombre que comparten un rol (principal, secundario, secundario geográfico, principal geográfico) o como una réplica nombrada individualmente. Los datos almacenados sobre las consultas se pueden analizar como cargas de trabajo en un conjunto de réplicas. Query Store para réplicas permite supervisar y ajustar el rendimiento de las cargas de trabajo únicas de solo lectura que podrían ejecutarse en réplicas secundarias.
Consideraciones de rendimiento para el Almacén de consultas para secundarias legibles
El canal usado por las réplicas secundarias para devolver información de consulta a la réplica principal es el mismo canal que se usa para mantener actualizadas las réplicas secundarias. Los datos se almacenan en las mismas tablas de la réplica principal que usa el Almacén de consultas para las consultas ejecutadas en la réplica principal, lo que hace que el tamaño del Almacén de consultas crezca.
Por lo tanto, cuando un sistema está bajo una carga significativa, es posible que observe cierta ralentización debido a que el canal está sobrecargado. Además, los mismos problemas de captura de consultas ad hoc que existen en el Almacén de consultas seguirán funcionando en las cargas de trabajo que se ejecutan en réplicas secundarias. Obtenga más información sobre cómo mantener los datos más relevantes en el Almacén de consultas.
Contenido relacionado
- Opciones de ALTER DATABASE SET (Transact-SQL)
- sys.database_query_store_options (Transact-SQL)
- sys.query_store_replicas
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sys.sp_query_store_force_plan (Transact-SQL)
- ¿Qué es un grupo de disponibilidad Always On?
- Procedimientos recomendados para monitorizar cargas de trabajo con Query Store
- Procedimientos recomendados para administrar el Almacén de consultas
- Ajuste del rendimiento con el Almacén de consultas
- Sugerencias del Almacén de consultas
- Escenarios de uso del almacén de consultas
- Abrir el Monitor de actividad en SQL Server Management Studio (SSMS)