Actualizaciones y opciones de configuración recomendadas para SQL Server con cargas de trabajo de alto rendimiento
En este artículo se incluye una lista de mejoras de rendimiento y opciones de configuración que están disponibles para SQL Server 2012 y versiones posteriores.
Versión original del producto: SQL Server 2014, SQL Server 2012
Número de KB original: 2964518
Aplicar las actualizaciones recomendadas y mejorar el rendimiento de SQL Server 2014 y SQL Server 2012
En este artículo se describen las mejoras de rendimiento y los cambios que están disponibles para SQL Server 2014 y SQL Server versiones de 2012 a través de diversas actualizaciones de productos y opciones de configuración. Puede considerar la posibilidad de aplicar estas actualizaciones para mejorar el rendimiento de la instancia de SQL Server. El grado de mejora que vea dependerá de varios factores que incluyen el patrón de carga de trabajo, los puntos de contención, el diseño del procesador (número de grupos de procesadores, sockets, nodos NUMA, núcleos en un nodo NUMA) y la cantidad de memoria presente en el sistema. SQL Server equipo de soporte técnico ha usado estas actualizaciones y cambios de configuración para lograr ganancias de rendimiento razonables para las cargas de trabajo de los clientes que usaban sistemas de hardware que tenían varios nodos NUMA y muchos procesadores. El equipo de soporte técnico seguirá actualizando este artículo con otras actualizaciones en el futuro.
Sistemas de gama alta Un sistema de gama alta suele tener varios sockets, ocho núcleos o más por socket y medio terabyte o más de memoria.
Nota:
En SQL Server 2016 y versiones posteriores, muchas de las marcas de seguimiento mencionadas en este artículo son el comportamiento predeterminado y no es necesario habilitarlas en esas versiones.
Las recomendaciones se agrupan en tres tablas como se indica a continuación:
- La tabla 1 contiene las actualizaciones recomendadas con más frecuencia y marcas de seguimiento para la escalabilidad en sistemas de gama alta.
- La tabla 2 contiene recomendaciones e instrucciones para el ajuste de rendimiento adicional.
- La tabla 3 contiene correcciones de escalabilidad adicionales que se incluyeron junto con una actualización acumulativa.
Tabla 1. Actualizaciones importantes y marcas de seguimiento para sistemas de gama alta
Revise la tabla siguiente y habilite las marcas de seguimiento en la columna Marca de seguimiento después de asegurarse de que la instancia de SQL Server cumple los requisitos de la columna Versión aplicable e intervalos de compilación.
Nota:
Versión y compilación aplicables indica la actualización específica en la que se introdujo el cambio o la marca de seguimiento. Si no se especifica ninguna CU, se incluyen todas las CU del SP.
Versión y compilación no aplicables indica la actualización específica en la que el cambio o la marca de seguimiento se convirtieron en el comportamiento predeterminado. Por lo tanto, solo aplicar esa actualización será suficiente para obtener las ventajas.
Importante
Al habilitar correcciones con marcas de seguimiento en entornos de Always On, tenga en cuenta que tiene que habilitar las marcas de corrección y seguimiento en todas las réplicas que forman parte del grupo de disponibilidad.
Escenario y síntoma que se deben tener en cuenta | Marca de seguimiento | Versiones y intervalos de compilación aplicables | Intervalos de compilación y versión no aplicables | Artículo o vínculo de blog de Knowledge Base que proporciona más detalles |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 SP2 a SP/CU actual |
|
|
|
T9024 | Paquete de actualización acumulativa 3 para SQL Server Service Pack 1 a SP2 de 2012 SQL Server 2014 RTM |
|
CORRECCIÓN: Valor elevado del contador "esperas de escritura de registro" en una instancia de SQL Server 2012 o SQL Server 2014 |
La instancia de SQL Server controla miles de restablecimientos de conexión debido a la agrupación de conexiones. | T1236 | Paquete de actualización acumulativa 9 para SQL Server 2012 Service Pack 1 a SP2 Actualización acumulativa 1 para SQL Server 2014 |
|
|
|
T1118 |
|
|
Mejoras de simultaneidad para la base de datos tempdb NOTA Habilite la marca de seguimiento y agregue varios archivos de datos para la base de datos tempdb. |
|
T1117 |
|
|
Recomendaciones para reducir la contención de asignación en SQL Server base de datos tempdb |
La contención de bloqueos de número elevado SOS_CACHESTORE o los planes se expulsan con frecuencia en cargas de trabajo de consultas ad hoc. |
T174 |
|
Ninguno |
|
|
T8032 |
|
Ninguno |
|
Las estadísticas existentes no se actualizan con frecuencia debido al gran número de filas de la tabla. | T2371 |
|
Ninguno | |
|
T7471 | SQL Server 2014 SP1 CU6 a SP/CU actual | Ninguno | Mejora del rendimiento de las estadísticas de actualización con SQL 2014 & SQL 2016 |
El comando CHECKDB tarda mucho tiempo en bases de datos grandes. |
|
|
Ninguno | |
El comando CHECKDB tarda mucho tiempo en bases de datos grandes. | T2566 |
|
Ninguno |
|
La ejecución de consultas de almacenamiento de datos simultáneas que tardan mucho tiempo en compilar da lugar a RESOURCE_SEMAPHORE_QUERY_COMPILE esperas. |
T6498 | Paquete de actualización acumulativa 6 para SQL Server 2014 a SP1 |
|
|
Está solucionando problemas de rendimiento de consultas específicos Las correcciones del optimizador están deshabilitadas de forma predeterminada. | T4199 |
|
Ninguno | |
Experimenta un rendimiento lento mediante operaciones de consulta con tipos de datos espaciales. |
|
|
|
|
|
T8075 |
|
|
CORRECCIÓN: Error de memoria insuficiente cuando el espacio de direcciones virtuales del proceso de SQL Server es bajo en SQL Server |
|
T3449 |
|
|
CORRECCIÓN: la creación de SQL Server base de datos en un sistema con un gran volumen de memoria tarda más de lo esperado |
Tabla 2. Consideraciones generales y procedimientos recomendados para mejorar el rendimiento de la instancia de SQL Server
Revise el contenido de la columna Knowledge Base article/Books Online Resource y considere la posibilidad de implementar las instrucciones en la columna Acciones recomendadas.
Artículo de Knowledge Base/Recurso de libros en pantalla | Acciones recomendadas |
---|---|
Configurar la opción de configuración del servidor grado máximo de paralelismo | Use el procedimiento almacenado sp_configure para realizar cambios de configuración en Configurar la opción de configuración del servidor grado máximo de paralelismo para la instancia de SQL Server según el artículo de Knowledge Base. |
Límites de capacidad de proceso por edición de SQL Server | Enterprise Edition con licencias de licencia de servidor y acceso de cliente (CAL) se limita a 20 núcleos por instancia de SQL Server. No hay límites en el modelo de licencias de servidor basado en Núcleo. Considere la posibilidad de actualizar la edición de SQL Server a la SKU adecuada para aprovechar todos los recursos de hardware. |
Rendimiento lento en Windows Server al usar el plan de energía "equilibrado" | Revise el artículo y trabaje con el administrador de Windows para implementar una de las soluciones que se indican en la sección "Resolución" del artículo. |
Asigne manualmente nodos NUMA a grupos K. | |
Optimización de cargas de trabajo ad hocFORCED PARAMETERIZATION | Las entradas de la memoria caché del plan se expulsan debido al crecimiento en otras memorias caché o en los empleados de memoria. También puede encontrarse con la expulsión de la caché del plan cuando la memoria caché alcanza su número máximo de entradas. Además de la marca de seguimiento 8032 descrita anteriormente, considere la opción de servidor optimizar para cargas de trabajo ad hoc y también la opción de base de datos FORCED PARAMETERIZATION . |
Cómo reducir la paginación de la memoria del grupo de búferes en SQL ServerMemory configuration and sizing considerations in SQL Server 2012 and later versions | Asigne el derecho de usuario Habilitar las páginas de bloqueo en memoria (Windows) a la cuenta de inicio del servicio SQL. Consulte Habilitación de la característica "páginas bloqueadas" en SQL Server 2012. Establezca la memoria máxima del servidor en aproximadamente el 90 por ciento de la memoria física total. Asegúrese de que las opciones de configuración de memoria del servidor solo tienen en cuenta la memoria de los nodos configurados para usar la configuración de máscara de afinidad. |
SQL Server y páginas grandes explicadas...Opciones de ajuste para SQL Server cuando se ejecutan en cargas de trabajo de alto rendimiento | Considere la posibilidad de habilitar TF 834 si tiene un servidor con una gran cantidad de memoria, especialmente con una carga de trabajo analítica o de almacenamiento de datos. Tenga en cuenta que TF 834 no se recomienda si usa índices de almacén de columnas. |
Descripción de las opciones "recuento de cubos de caché de comprobación de acceso" y "cuota de caché de comprobación de acceso" que están disponibles en el procedimiento almacenado sp_configure | Use las opciones de configuración del servidor de comprobación de acceso para configurar estos valores según las recomendaciones del artículo de Knowledge Base. Los valores recomendados para sistemas de gama alta son los siguientes: "access check cache bucket count": 256 "cuota de caché de comprobación de acceso": 1024 |
Sugerencias de consulta de concesión de memoriaALTER WORKLOAD GROUP | Si tiene muchas consultas que agotan grandes concesiones de memoria, reduzca request_max_memory_grant_percent para el grupo de cargas de trabajo predeterminado en la configuración del regulador de recursos del 25 por ciento predeterminado a un valor inferior. Las nuevas opciones de concesión de memoria de consulta están disponibles (min_grant_percent y max_grant_percent ) en SQL Server |
Inicialización instantánea de archivos | Trabaje con el administrador de Windows para conceder a la cuenta de servicio SQL Server el derecho de usuario "Realizar tareas de mantenimiento por volumen" según la información del tema Libros en pantalla. |
Consideraciones sobre la configuración de "crecimiento automático" y "autoshrink" en SQL Server | Compruebe la configuración actual de la base de datos y asegúrese de que están configuradas según las recomendaciones del artículo de Knowledge Base. |
Puntos de comprobación de base de datos (SQL Server) | Considere la posibilidad de habilitar puntos de control indirectos en bases de datos de usuario para optimizar el comportamiento de E/S en SQL Server 2012 y 2014. |
CORRECCIÓN: Sincronización lenta cuando los discos tienen tamaños de sector diferentes para los archivos de registro de réplica principal y secundaria en SQL Server entornos de grupo de disponibilidad y registro | Si tiene un grupo de disponibilidad en el que el registro de transacciones de la réplica principal se encuentra en un disco con un tamaño de sector de 512 bytes y el registro de transacciones de la réplica secundaria está en una unidad con tamaño de sector 4K, es posible que tenga un problema en el que la sincronización sea lenta. En estos casos, la habilitación de TF 1800 debe corregir el problema. Para obtener más información, vea Marca de seguimiento 1800. |
Si el SQL Server aún no está enlazado a la CPU y una sobrecarga del 1,5 % al 2 % es insignificante para las cargas de trabajo, se recomienda habilitar TF 7412 como marca de seguimiento de inicio. Esta marca permite la generación de perfiles ligera en SQL Server SP2 de 2014 o posterior, lo que le permitirá realizar la solución de problemas de consultas en directo en entornos de producción. |
Tabla 3. Correcciones de rendimiento que se incluyen en una actualización acumulativa
Revise la descripción de la columna Síntomas y aplique las actualizaciones necesarias en la columna Actualización necesaria en los entornos aplicables. Puede revisar el artículo de Knowledge Base para obtener más información sobre los problemas respectivos. Estas recomendaciones no requieren que habilite marcas de seguimiento adicionales como parámetros de inicio. Basta con aplicar la última actualización acumulativa o Service Pack que incluye estas correcciones para obtener la ventaja.
Nota:
El nombre cu de la columna Actualización necesaria proporciona la primera actualización acumulativa de SQL Server que resuelve este problema. Una actualización acumulativa contiene todas las revisiones y todas las actualizaciones que se incluyeron con la versión de actualización de SQL Server anterior. Por lo tanto, se recomienda instalar la actualización acumulativa más reciente para resolver los problemas.
Notas importantes
Si se aplican todas las condiciones de la Tabla 1:
- Guía para SQL Server 2014: aplique al menos la actualización acumulativa 1 para SQL Server 2014 para RTM y agregue "-T8048 -T9024 -T1236 -T1117 -T1118" para SQL Server lista de parámetros de inicio.
- Guía para SQL Server 2012: aplique SP2 y agregue "-T8048 -T9024 -T1236 -T1117 -T1118" a SQL Server lista de parámetros de inicio.
Para obtener información general sobre cómo usar marcas de seguimiento, consulte el tema DBCC TRACEON - Marcas de seguimiento (Transact-SQL) en SQL Server Libros en pantalla.
Puede encontrar más información sobre el número de procesadores, la configuración de NUMA, etc., en view the SQL Server error log in SQL Server Management Studio (SSMS).
Para buscar la versión de SQL Server, compruebe lo siguiente:
Cómo determinar la versión y la edición de SQL Server y sus componentes
Referencias
Obtención del Service Pack más reciente para SQL Server 2012
Dónde encontrar información sobre las compilaciones de SQL Server más recientes
SQL Server recursos de la comunidad en actualizaciones importantes para SQL Server
- Correcciones relacionadas con el rendimiento y la estabilidad en compilaciones posteriores a SQL Server SP1 de 2012
- Compilaciones más recientes de SQL Server 2012
- Compilaciones más recientes de SQL Server 2012 SP1
- Compilaciones más recientes de SQL Server 2012 SP2
- Compilaciones más recientes de SQL Server 2014
Se aplica a
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- SQL Server 2012 Business Intelligence
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de