Configuración de una nueva captura

Completado

Para ejecutar el Asistente para experimentación con bases de datos (DEA), es necesario capturar eventos en una base de datos de SQL Server existente. Después, estos eventos se reproducen en versiones actuales y futuras de la base de datos para identificar posibles cambios de rendimiento.

Ahora que ya instalado el DEA, ya podrá usarlo para analizar cargas de bases de datos en SQL Server mediante la captura de una línea de base.

En esta unidad, verá cómo capturar eventos, reproducirlos y capturar los seguimientos en una nueva versión de la base de datos.

Configuración de una nueva captura en el DEA

El DEA necesita la siguiente información: la base de datos de origen donde se ejecutarán la captura y dos destinos. Estos destinos se usan para crear la línea de base y realizar comparaciones. El primer destino será la copia de seguridad de la base de datos en su forma actual. El segundo destino tendrá aplicado el único cambio.

El DEA captura los eventos en el origen y, después, al ejecutar la captura en los dos destinos, crea una comparación con el primer destino como la línea de base. Para que la prueba sea lo más precisa posible, le recomendamos que los servidores de destino tengan el mismo hardware o muy similar. A continuación, si hay una diferencia de rendimiento, se trata del resultado del cambio en la instancia de SQL Server y no de una diferencia de hardware.

La copia de seguridad de la base de datos de origen debe realizarse justo antes de ejecutar la captura. Desea asegurarse de que los eventos se vuelven a ejecutar en la base de datos que tiene un estado lo más similar posible al origen. Si tiene una base de datos de solo lectura (por ejemplo, una base de datos de informes que necesita un nuevo índice), el momento en que se realice la copia de seguridad puede ser menos crítico si los datos solo se recargan periódicamente; por ejemplo, cada día a medianoche. Sin embargo, es mejor asegurarse de que la copia de seguridad se realiza lo más cerca posible al momento de ejecutar la captura. En el ejemplo de la base de datos de informes, realice una copia de seguridad de la base de datos y ejecute la captura en el mismo conjunto de datos.

Después de realizar una copia de seguridad de la base de datos de origen, necesita restaurarla en la instancia donde ejecutará la reproducción para asegurarse de que la copia de seguridad sea válida. Entonces, ya estará preparado para crear una captura. Cada captura necesita un nombre y una ubicación donde se guardará el archivo de la captura. Si ejecuta la captura en una instancia de Azure SQL Database o una Instancia administrada de Azure SQL, necesitará el URI de SAS para la cuenta de Azure Blob Storage.

Elija entre guardar el archivo en formato de seguimiento o XEvents, y puede seleccionar una duración de 5 a 180 minutos. El DEA necesita que la consulta tenga como mínimo 30 ejecuciones en el servidor de destino; por lo tanto, ejecute la captura durante el tiempo que sea necesario para crear una muestra con el tamaño adecuado. La captura se puede ejecutar en SQL Server, Azure SQL Database o la Instancia administrada de Azure SQL. Puede conectarse mediante la autenticación de Windows o SQL Server. Opcionalmente, puede proporcionar un nombre de base de datos para restringir la captura a una única base de datos. Si deja el nombre en blanco, se capturan los eventos de todas las bases de datos de la instancia.

La duración de la ejecución de la captura y el tiempo que elija dependerán de la carga de la base de datos en un día laboral típico. La ejecución de la captura supone un impacto mínimo en el rendimiento de la base de datos. Como guía, puede esperar aproximadamente un 3 % de sobrecarga de memoria. Ejecute el DEA en un momento en que se capture una representación adecuada de la carga de trabajo, para obtener los mejores resultados de la reproducción.

Ejecución de una reproducción en una base de datos de destino

Cuando se complete la captura, reproduzca los eventos en los servidores de destino. Los servidores de destino tienen que configurarse para ejecutarse con los seguimientos de Distributed Replay (DReplay) activados. Le recomendamos que reinicie el servicio SQL Server para obtener una evaluación coherente. Es necesario restaurar la base de datos de origen en Destino 1 sin aplicar ningún cambio. Después, puede restaurar la misma copia de seguridad de Destino 2 y realizar el cambio. Por ejemplo, puede actualizar la base de datos o agregar un nuevo índice de almacén de columnas. Después de reproducir el seguimiento en ambos destinos, el DEA genera el informe de análisis.

Pasos básicos para configurar una nueva captura

Antes de empezar, realice una copia de seguridad de la base de datos de origen con una herramienta como SQL Server Management Studio.

Creación de una captura con DEA

  1. En el Asistente para experimentación con bases de datos, haga clic en Nueva captura.
  2. Asigne un nombre al archivo de la captura, establezca el formato de la captura en XEvents y configure una Duración (minuto).
  3. Especifique la ubicación donde se guardará la captura, establezca el Tipo de servidor en SqlServer y, en el campo Nombre de servidor, escriba el nombre del servidor de origen.
  4. Establezca el Tipo de autenticación y especifique el nombre de la base de datos.
  5. Ahora, ya puede iniciar la captura. Desactive la casilla Cifrar conexión.
  6. Use SQL Server Management Studio u otra herramienta para ejecutar una carga de trabajo en la base de datos mientras la captura esté en curso.
  7. Cuando finalice el temporizador en el Asistente para experimentación con bases de datos, verá el mensaje Este seguimiento de captura está listo para la reproducción.

Creación de las bases de datos de destino

  1. Use una herramienta como SQL Server Management Studio para restaurar la base de datos de origen original como Destino_1.
  2. Vea las propiedades de la base de datos para asegurarse de que el Nivel de compatibilidad está establecido actualmente en un nivel anterior a SQL Server 2019, como SQL Server 2008 (100).
  3. Use una herramienta como SQL Server Management Studio para volver a restaurar la base de datos de origen original (esta vez, use Destino_2).
  4. Establezca las propiedades de la base de datos en SQL Server 2019 (150).

Ejecución del seguimiento en las bases de datos de destino

  1. En el Asistente para experimentación con bases de datos, haga clic en Nueva reproducción.
  2. Especifique la ruta de acceso a los archivos de seguimiento de origen, especifique un nombre para la reproducción, seleccione XEvents como el formato de seguimiento de origen y especifique una ubicación de seguimiento de la reproducción.
  3. Establezca el Tipo de servidor en SqlServer y, en el campo Nombre del servidor, escriba el nombre del servidor de origen.
  4. Establezca el Tipo de autenticación y especifique el nombre de la base de datos.
  5. Ahora, ya puede iniciar la reproducción. Cuando se complete la reproducción, verá el mensaje Este seguimiento de reproducción está listo para su análisis.
  6. Seleccione Clonar, especifique un nombre para la reproducción, seleccione XEvents como el formato de seguimiento de origen y, después, especifique la ubicación de seguimiento de reproducción.
  7. Especifique el nombre de la base de datos e inicie esta reproducción. Cuando se complete la reproducción, volverá a ver el mensaje Este seguimiento de reproducción está listo para su análisis.

El DEA usa la tecnología Distributed Replay para crear una solución de pruebas A/B con el fin de aplicar un único cambio en SQL Server. Una prueba A/B solo mide un único cambio, por lo que verá el efecto de aplicar el cambio. Si usa el DEA para probar un cambio antes de implementarlo en un entorno de producción, puede identificar posibles resultados adversos de rendimiento que podrían afectar de forma negativa al negocio. El DEA podría no ser la herramienta adecuada para una corrección de emergencia o alteraciones más pequeñas. Pero resulta útil para los cambios planeados, como la actualización de las bases de datos o la prueba de una nueva característica.