Consideraciones para usar el Asistente para la optimización de motor de base de datos
Antes de usar el Asistente para la optimización de motor de base de datos, debe conocer sus capacidades y su impacto en el rendimiento. En las siguientes secciones se describen estas consideraciones, pero no es una lista exhaustiva de problemas. Su entorno específico y la implementación de SQL Server determinan los aspectos exactos que debe tener en cuenta al usar el Asistente para la optimización de motor de base de datos.
Capacidades del Asistente para la optimización de motor de base de datos
El Asistente para la optimización de motor de base de datos no hace lo siguiente:
Recomendar índices en tablas del sistema.
Agregar o quitar índices únicos o índices que exigen restricciones PRIMARY KEY o UNIQUE.
Optimizar bases de datos de un solo usuario.
Nota
El Asistente para la optimización de motor de base de datos recomienda índices agrupados únicos en vistas cuando las vistas indizadas forman parte de su recomendación.
Además, el Asistente para la optimización de motor de base de datos tiene las siguientes limitaciones:
El Asistente para la optimización de motor de base de datos recopila estadísticas mediante un muestreo de los datos. Por tanto, al ejecutar repetidamente la herramienta en la misma carga de trabajo pueden producirse distintos resultados.
El Asistente para la optimización de motor de base de datos no puede usarse para optimizar índices de las bases de datos de Microsoft SQL Server 7.0 ó anteriores.
Si especifica un espacio en disco máximo en las recomendaciones de optimización que sea mayor que el espacio disponible, el Asistente para la optimización de motor de base de datos utiliza el valor especificado. Sin embargo, al ejecutar el script de recomendaciones para implementarlo, el script puede generar un error si antes no se agrega más espacio en disco. El espacio en disco máximo puede especificarse mediante la opción -B de la utilidad dta o especificando un valor en el cuadro de diálogo Opciones avanzadas de optimización.
Por motivos de seguridad, el Asistente para la optimización de motor de base de datos no puede optimizar una carga de trabajo de una tabla de traza que resida en un servidor remoto. Para solucionar esta limitación, puede elegir una de las siguientes opciones:
Utilice un archivo de traza en lugar de una tabla de traza.
Copie la tabla de traza en el servidor remoto.
Al imponer restricciones, como las impuestas al especificar el espacio en disco máximo en las recomendaciones de optimización (mediante la opción -B o el cuadro de diálogo Opciones avanzadas de optimización), el Asistente para la optimización de motor de base de datos puede verse forzado a quitar algunos índices existentes. En ese caso, la recomendación resultante del Asistente para la optimización de motor de base de datos puede producir lo contrario a la mejora esperada.
Al especificar una restricción para limitar el tiempo de optimización (mediante la opción -A con la utilidad dta o seleccionando Limitar tiempo de optimización en la ficha Opciones de optimización), el Asistente para la optimización de motor de base de datos puede exceder ese límite de tiempo para generar la mejora esperada exacta e informes de análisis de la parte de la carga de trabajo que se ha consumido hasta ahora.
El Asistente para la optimización de motor de base de datos no hace recomendaciones en las siguientes circunstancias:
La tabla que se está optimizando contiene menos de 10 páginas de datos.
Los índices recomendados no ofrecen claras posibilidades de mejora del rendimiento de las consultas respecto al diseño de la base de datos física actual.
El usuario que ejecuta el Asistente para la optimización de motor de base de datos no es miembro de la función de base de datos db_owner, o la función fija de servidor sysadmin. Las consultas de la carga de trabajo se analizan en el contexto de seguridad del usuario que ejecuta el Asistente para la optimización de motor de base de datos. El usuario debe ser miembro de la función de base de datos db_owner.
El Asistente para la optimización de motor de base de datos no hace recomendaciones de partición en las siguientes circunstancias:
- El procedimiento almacenado extendido xp_msver no está habilitado. Este procedimiento almacenado extendido se utiliza para recuperar el número de procesadores y la memoria disponible en el servidor en el que reside la base de datos que se está optimizando. Tenga en cuenta que este procedimiento almacenado extendido está activado de forma predeterminada al instalar SQL Server. Para obtener más información, vea Descripción de la configuración del área expuesta y xp_msver (Transact-SQL).
Nota
Cuando el Asistente para la optimización de motor de base de datos optimiza un servidor de prueba, el procedimiento almacenado extendido xp_msver debe estar habilitado para que el Asistente para la optimización de motor de base de datos pueda recuperar información del servidor de producción durante la optimización. Para obtener más información, vea Consideraciones acerca del uso de servidores de prueba.
Consideraciones de rendimiento
El Asistente para la optimización de motor de base de datos puede consumir muchos recursos de procesador y memoria durante el análisis. Para evitar que el servidor de producción se ralentice, siga una de estas estrategias:
Optimice las bases de datos cuando el servidor esté libre. El Asistente para la optimización de motor de base de datos puede afectar al rendimiento de las tareas de mantenimiento.
Utilice la característica de servidor de prueba/producción. Para obtener más información, vea Reducir la carga de optimización del servidor de producción.
Especifique sólo las estructuras de diseño de la base de datos física que desee que el Asistente para la optimización de motor de base de datos analice. El Asistente para la optimización de motor de base de datos proporciona muchas opciones, pero especifica sólo las necesarias.
El Asistente para la optimización de motor de base de datos almacena la información de sesión en la base de datos msdb
El Asistente para la optimización de motor de base de datos almacena la información de optimización de la sesión y otros datos en la base de datos msdb. Si se realizan cambios en la base de datos msdb, existe el riesgo de que se pierdan los datos de optimización de la sesión. Para eliminar este riesgo, implemente una estrategia de copia de seguridad adecuada para la base de datos msdb.