Mejora: Realizar varias mejoras en la utilidad SQLIOSim

Resumen

Esta mejora realiza las siguientes mejoras en la utilidad SQLIOSim y corrige los problemas de integridad de datos que podrían deberse al manejo de E/S. Para obtener más información sobre la utilidad SQLIOSim, consulte la Introducción de la utilidad SQLIOSim.

Registro mejorado

  • Agrega un nuevo búfer de anillo para realizar un seguimiento de los errores, con el fin de que sea poco probable que los errores en el búfer de anillo del historial sean reemplazados debido a la sustitución.
  • Agrega varias salidas que contienen "recuento de pasos" o "fecha y hora" para facilitar la depuración de un problema.
  • Agrega las salidas y la información del volumen al archivo de fsutil error, para asignar el desplazamiento del archivo al desplazamiento en el disco físico y filtrar los seguimientos del subsistema de E/S más fácilmente.
  • Agrega la salida para la hora universal coordinada (UTC) y la hora local.
  • Desglosa la salida del encabezado de página en el archivo de error, como PageId, Checksum y Timestamp.
  • Muestra una lista de las páginas del FILE HISTORY búfer de anillo para localizar más fácilmente las entradas del búfer de anillo.
  • Muestra la marca de tiempo, la fecha y hora, la CPU lógica y otras columnas en la vista Sqliosim.log.xml o ErrorLog.xslt .
  • Aumenta el tamaño de los búferes de anillo y reduce la frecuencia del vuelco.
  • Proporciona salidas hexadecimales y decimales para salidas comunes, como PageId, Checksum y Timestamp.
  • Novedades el diseño de Sqliosim.log.xml para facilitar la lectura del archivo XML en un editor de texto.
  • El Sqliosim.log.xml validado y ErrorLog.xslt se pueden ver correctamente en Microsoft Edge que usa el modo Internet Explorer (IE).

Marca de tiempo del encabezado de página

Almacena el GetTickCount64 valor en el encabezado de página durante las operaciones de escritura. El recuento de pasos es útil para realizar un seguimiento de cuándo se escribe la página y filtrar los seguimientos del subsistema de E/S.

BNR (bytes no leídos)

El problema de E/S hace que la operación de lectura se devuelva como si la operación de lectura fuera correcta, pero el búfer real no se actualiza ni se lee. La utilidad SQLIOSim recibe una lectura correcta, pero no supera las comprobaciones de validación.

La utilidad SQLIOSim ahora marca los búferes de lectura utilizando el patrón BNR antes de emitir una lectura. Cuando la operación de lectura se devuelve correctamente, pero no puede realizar la lectura real, la validación continúa fallando. Sin embargo, los bytes leídos muestran el archivo . Patrón BNR que indica un problema de subsistema de E/S.

Reintento de escritura

Si el subsistema de E/S encuentra un restablecimiento (más común en instalaciones de almacenamiento de conexión directa (DAS), es posible que las solicitudes de operación de escritura se completen incorrectamente. La utilidad SQLIOSim no garantiza las capacidades de reintento de escritura. En algunos casos, la utilidad SQLIOSim intenta leer y validar los datos que no se pueden escribir.

La utilidad SQLIOSim se ha mejorado para registrar un error de escritura y, a continuación, realizar una operación de reintento de escritura.

Bloqueo mejorado

Los mecanismos de bloqueo interno y la actividad de protección de páginas (VirtualProtect) se optimizan y mejoran para garantizar que un problema notificado por la utilidad SQLIOSim no sea causado por un error lógico en la utilidad SQLIOSim.

Leer y reintentar

Corrige un problema que provoca un error en el intento de reintento de lectura al reintentar una lectura LDX (simulación de registro) errónea.

Ejemplos de los resultados mejorados

El primer ejemplo de la salida mejorada incluye las siguientes mejoras:

  • Hora UTC
  • Hexadecimal y decimal
  • Marca de tiempo o recuento de marcas de verificación
  • BNR
  • Expansión del encabezado de página

Captura de pantalla de la salida mejorada, que incluye hora UTC, hexadecimal y decimal, recuento de marcas de tiempo/pasos, BNR y expansión de encabezado de página.

El segundo ejemplo de la salida mejorada incluye las siguientes mejoras:

  • Búfer de anillo
  • Hora UTC
  • Desglose de intervalo de páginas

Captura de pantalla de la salida mejorada, que incluye búfer de anillo, hora UTC y desglose de intervalo de páginas.

El tercer ejemplo de la salida mejorada incluye las siguientes mejoras:

  • Columna de recuento de pasos
  • Columna de CPU lógica

Captura de pantalla de la salida mejorada, que incluye las columnas de recuento de pasos y CPU lógica.

Más información

Esta mejora se incluye en la siguiente actualización acumulativa para SQL Server:

Actualización acumulativa 7 para SQL Server 2022

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad de la compilación anterior. Se recomienda instalar la compilación más reciente para su versión de SQL Server:

Actualización acumulativa más reciente para SQL Server 2022

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.