Compartir a través de


Consideraciones acerca del uso de servidores de prueba

El uso de un servidor de prueba para ajustar una base de datos en un servidor de producción es una ventaja importante del Asistente para la optimización de motor de base de datos. Con esta característica, puede trasladar la carga de ajuste a un servidor de prueba sin necesidad de copiar los datos reales desde el servidor de producción al servidor de prueba.

Nota:

La característica de optimización del servidor de prueba no se admite en la interfaz gráfica de usuario (GUI) del Asistente para la optimización de motor de base de datos.

Para usar esta característica correctamente, revise las consideraciones enumeradas en las secciones siguientes.

Configuración del entorno de servidor de prueba o servidor de producción

  • El usuario que quiere usar un servidor de prueba para ajustar una base de datos en un servidor de producción debe existir en ambos servidores o este escenario no funcionará.

  • El procedimiento almacenado extendido, xp_msver, debe estar habilitado para usar el escenario de servidor de prueba o servidor de producción. El Asistente para la optimización de motor de base de datos usa este procedimiento almacenado extendido para capturar el número de procesadores y la memoria disponible del servidor de producción que se usará al ajustar el servidor de prueba. Si xp_msver no está habilitado, el Asistente para la optimización de motor de base de datos asume las características de hardware del equipo en el que se ejecuta el Asistente para la optimización de motor de base de datos. Si las características de hardware del equipo en el que se ejecuta el Asistente para la optimización de motor de base de datos no están disponibles, se supone un procesador y 1024 megabytes (MB) de memoria. Este procedimiento almacenado extendido está activado de forma predeterminada al instalar SQL Server. Para obtener más información, consulte Configuración de superficie y xp_msver (Transact-SQL).

  • El Asistente para la optimización de motor de base de datos espera que las ediciones de SQL Server sean las mismas en el servidor de prueba y en el servidor de producción. Si hay dos ediciones diferentes, la edición del servidor de pruebas tiene prioridad. Por ejemplo, si el servidor de prueba ejecuta SQL Server Standard, el Asistente para la optimización de motor de base de datos no incluirá vistas indizadas, particiones y operaciones en línea en sus recomendaciones, incluso si el servidor de producción ejecuta SQL Server Enterprise.

Acerca del comportamiento del servidor de prueba o del servidor de producción

  • El Asistente para la optimización de motor de base de datos tiene en cuenta las diferencias de hardware entre la producción y el servidor de pruebas al crear recomendaciones. La recomendación es la misma que si la optimización se realizó solo en el servidor de producción.

  • El Asistente para la optimización de motor de base de datos puede imponer cierta carga en el servidor de producción para recopilar metadatos, así como la creación de estadísticas necesarias para la optimización.

  • El Asistente para la optimización del motor de la base de datos no copia datos reales del servidor de producción al servidor de prueba. Solo copia los metadatos de las bases de datos y las estadísticas necesarias.

  • Toda la información de sesión se almacena en msdb en el servidor de producción. Esto le permite aprovechar cualquier servidor de pruebas disponible para la optimización y la información sobre todas las sesiones está disponible en un solo lugar (el servidor de producción).

  • Después de la optimización, el Asistente para la optimización de motor de base de datos debe quitar los metadatos que creó en el servidor de prueba durante el proceso de optimización. Esto incluye la base de datos de shell. Si va a realizar una serie de sesiones de optimización con los mismos servidores de producción y pruebas, puede que quiera conservar esta base de datos de shell para ahorrar tiempo. En el archivo de entrada XML, especifique el subelemento RetainShellDB con los otros subelementos en el elemento primario TuningOptions . El uso de estas opciones hace que el Asistente para la optimización de motor de base de datos conserve la base de datos del shell. Para obtener más información, vea Referencia de archivo de entrada XML (Asistente para la optimización de motor de base de datos).

  • Las bases de datos de Shell pueden dejarse atrás en el servidor de prueba después de una sesión de optimización correcta del servidor de prueba o del servidor de producción aunque no haya especificado el subelemento RetainShellDB . Estas bases de datos de shell no deseadas pueden interferir con las sesiones de optimización posteriores y deben quitarse antes de realizar otra sesión de optimización de servidor de prueba o servidor de producción. Además, si una sesión de optimización se cierra inesperadamente, las bases de datos de shell del servidor de prueba y los objetos de esas bases de datos pueden dejarse atrás en el servidor de pruebas. También debe eliminar estas bases de datos y objetos antes de iniciar una nueva sesión de optimización del servidor de prueba o del servidor de producción.

  • El usuario debe comprobar el registro de optimización para detectar errores de optimización que se derivan de diferencias entre los servidores de producción y de prueba, y para los errores que se producen al copiar metadatos de la producción en el servidor de prueba. Por ejemplo, es posible que un inicio de sesión de usuario no exista en el servidor de prueba. Si no existe un inicio de sesión de usuario en el servidor de prueba, es posible que esos eventos de la carga de trabajo emitidos por ese inicio de sesión de usuario no sean ajustables. Utiliza la interfaz gráfica del Asesor de Ajustes del Motor de Base de Datos para ver el registro de ajustes. Para obtener más información, consulte Ver y trabajar con la salida del Asistente para la Optimización del Motor de Base de Datos.

  • Si el Asistente para la optimización de motor de base de datos no puede ajustar muchos eventos porque faltan objetos en la base de datos de shell que crea el Asistente para la optimización de motor de base de datos en el servidor de prueba, el usuario debe comprobar el registro de optimización. Los eventos que no se pueden ajustar se listan en la bitácora. Para ajustar correctamente la base de datos en el servidor de prueba, el usuario debe crear los objetos que faltan en la base de datos de shell y, a continuación, iniciar una nueva sesión de optimización.

  • Si ya existe una base de datos con el mismo nombre en el servidor de prueba, el Asistente para la optimización de motor de base de datos no copia los metadatos, pero continúa ajustando y recopila las estadísticas según sea necesario. Esto resulta útil si el usuario ya ha creado una base de datos en el servidor de prueba y ha copiado los metadatos adecuados antes de invocar el Asistente para la optimización de motor de base de datos.

  • Si la opción DATE_CORRELATION_OPTIMIZATION está activada para una base de datos en el servidor de producción, los metadatos y los datos asociados a esta opción no están completamente scriptados al ajustar el servidor de pruebas. Cuando se realiza la optimización para un escenario de servidor de prueba o servidor de producción, se pueden aplicar los siguientes problemas:

    • Los usuarios pueden tener planes de consulta diferentes en los servidores para las consultas que usan la opción DATE_CORRELATION_OPTIMIZATION.

    • El Asistente para la optimización de motor de base de datos puede sugerir quitar vistas indizadas que apliquen la opción DATE_CORRELATION_OPTIMIZATION en el script de recomendación.

    Por lo tanto, puede omitir las recomendaciones que realiza el Asistente para la optimización de motor de base de datos sobre las vistas indexadas que contienen estadísticas de correlación porque el Asistente para la optimización de motor de base de datos conoce sus costos, pero no sus ventajas. Es posible que el Asistente para la optimización de motor de base de datos no recomiende la selección de determinados índices, como índices agrupados en columnas datetime , lo que podría resultar beneficioso cuando se habilita DATE_CORRELATION_OPTIMIZATION.

    Para determinar si una vista se basa en las estadísticas de correlación, seleccione la columna is_date_correlation_view de la vista de catálogo sys.views .