Cómo usar la utilidad SQLDumper. exe para generar un archivo de volcado en SQL Server

Se aplica a: SQL Server 2012 StandardSQL Server 2012 EnterpriseSQL Server 2012 Developer

Resumen


La utilidad SQLDumper. exe se incluye con Microsoft SQL Server. En este artículo se describe cómo usar la utilidad SQLDumper. exe para generar un archivo de volcado para informes de errores de Watson o para tareas de depuración.
Notasademás de la utilidad SQLDumper. exe, también están disponibles los siguientes métodos:

Advertencia La generación de archivos de volcado de proceso puede afectar a la disponibilidad del servicio (aquí SQL Server) y desencadenar la conmutación por error de los recursos en contextos siempre activados (es decir, el grupo de disponibilidad y la instancia de clúster de conmutación Las opciones que se usan para generar los archivos de volcado supondrán una gran diferencia. Asegúrese de leer la repercusión de las secciones generación de volcado y tipos de volcado .

Al capturar un archivo de volcado de proceso de SQL Server (especialmente un archivo de volcado filtrado o un archivo de volcado completo) en un SQL Server agrupado o en un SQL Server que aloje una instancia de un grupo de disponibilidad AlwaysOn (AG), el servidor SQL Server o AG agrupado puede conmutar por error a otro nodo si el archivo de volcado tarda demasiado en completarse. Para evitar la conmutación por error potencial, puede usar la configuración siguiente antes de capturar el archivo de volcado y puede recuperar el cambio después de que se haya realizado un volcado:

  • Para SQL Server agrupado (FCI), haga clic con el botón secundario en recursos de SQL Server en el administrador de clústeres y seleccione "si el recurso produce errores, no reiniciar" en la pestaña directivas .
  • Para AG, aplique todas las siguientes opciones de configuración:
    • Aumente el tiempo de espera de sesión (por ejemplo, 120 segundos para todas las réplicas). En SQL Server Management Studio, haga clic con el botón secundario en la réplica que desea configurar y, a continuación, haga clic en propiedades. Cambiar el campo de tiempo de espera de sesión (segundos) a 120 segundos. Para obtener más información, vea cambiar el período de tiempo de espera de sesión para una réplica de disponibilidad (SQL Server).
    • Cambie el "failover automático" de todas las réplicas a "conmutación por error manual". En SQL Server Management Studio, haga clic con el botón secundario en réplica, seleccione propiedadesy, a continuación, cambie la "conmutación por error automática" de todas las réplicas a "conmutación por error manual" en la pestaña propiedadesPara obtener más información, vea cambiar el modo de conmutación por error de una réplica de disponibilidad (SQL Server).
    • Aumente el "LeaseTimeout" a 60.000 MS (60 segundos) y cambie HealthCheckTimeout a 90.000 MS (90 segundos). En Administrador de clústeres, haga clic con el botón secundario en recursos de AG, seleccione propiedadesy, a continuación, cambie a la pestaña propiedades para modificar la configuración. Para obtener más información, vea configurar los valores de la propiedad HealthCheckTimeout.

Más información


Cómo ejecutar la utilidad SQLDumper. exe manualmente

Ejecute la utilidad SQLDumper. exe bajo el contexto de la carpeta en la que SQL Server instaló originalmente la utilidad. De forma predeterminada, la ruta de instalación de la utilidad SQLDumper. exe es la siguiente:SQLServerInstallDrive: \Archivos de Programa\microsoft SQL Server\90\Shared\SQLDumper.exeNota SQLServerInstallDrive es un marcador de posición para la unidad en la que instaló SQL Server 2005.Para generar un archivo de volcado con la utilidad SQLDumper. exe, siga estos pasos: 
  1. Abra la siguiente carpeta: SQLServerInstallDrive: \Archivos de programa\Microsoft SQL Server \Number\SharedNotaen esta ruta de acceso a la carpeta, número es un marcador de posición para una de las siguientes opciones:
    • 140 para SQL Server 2017
    • 130 para SQL Server 2016
    • 120 para SQL Server 2014
    • 110 para SQL Server 2012
    • 100 para SQL Server 2008
    • 90 para SQL Server 2005
  2. Asegúrese de que el archivo DbgHelp. dll está en esta carpeta.
  3. Haga clic en Inicio y en Ejecutar, escriba cmd y, por último, haga clic en Aceptar.
  4. En el símbolo del sistema, escriba el comando siguiente y presione ENTRAR: cd SQLServerInstallDrive:\Program Files\Microsoft SQL Server\number\Shared Nota:En esta ruta de la carpeta, número es el mismo marcador de posición que cambia con la versión de SQL Server como se ha descrito anteriormente.
  5. Para generar un tipo específico de archivo de volcado, escriba el comando correspondiente en el símbolo del sistema y, a continuación, presione ENTRAR:
    • Archivo de volcado completo
      SQLDumper. exe ProcessId 0 0x01100
    • Archivo de volcado de minivolcado
      SQLDumper. exe ProcessId 0 0x0120
    • Archivo de volcado de minivolcado que incluye memoria a la que se hace referencia indirectamente. Esta es la opción recomendada y SQL Server también la usa de forma predeterminada al generar automáticamente volcados de memoria.
      SQLDumper. exe ProcessId 0 0x0128
    • Archivo de volcado filtrado
      SQLDumper. exe ProcessId 0 0x8100
    Nota ProcessId es un marcador de posición para el identificador de proceso de la aplicación de Windows para la que desea generar un archivo de volcado.
Si la utilidad SQLDumper. exe se ejecuta correctamente, la utilidad genera un archivo de volcado en la carpeta en la que está instalada la utilidad.El archivo de volcado que genera la utilidad SQLDumper. exe tiene un patrón de nombre de archivo que es similar a lo siguiente:
SQLDmprxxxx.mdmp
En este patrón, xxxx es un número creciente que se determina en función de otros archivos que tienen un nombre de archivo similar en la misma carpeta. Si ya tiene archivos en la carpeta que tienen nombres de archivo en el patrón especificado, es posible que tenga que comparar la fecha y la hora en la que se creó el archivo para identificar el archivo que desea.

Información adicional y consideraciones

SQLDumper. exe existe principalmente para generar volcados de memoria para el proceso de SQL Server en escenarios en los que es necesario un volcado de memoria para resolver problemas específicos (excepciones, aserciones, programadores que no son de rendimiento, etc.). En tales casos, SQL Server llama a SQLDumper. exe para generar un volcado de memoria de su proceso. El volcado de memoria se almacena en una ruta configurada en el Administrador de configuración de SQL Server con un directorio de ubicación predeterminado MSSQL\LOG\.  Si, en algunos casos, el tamaño del volcado es demasiado grande, por ejemplo, puede modificar la ruta de acceso de la siguiente manera: 

  1. Abrir el Administrador de configuración de SQL Server
  2. En servicios de SQL Server , busque SQL Server en investigación
  3. Haga clic con el botón derecho en él, seleccione propiedades y vaya a la pestaña avanzadas .
  4. Modifique el directorio de volcado a la ruta deseada y haga clic en Aceptar.
  5. Reinicie SQL Server (cuando sea posible) para que la nueva configuración surta efecto.

Cuando la utilidad SQLDumper. exe se usa manualmente para generar un archivo de volcado para cualquier aplicación de Windows, el archivo de volcado puede ser tan grande como la memoria que usa actualmente la aplicación Windows. Asegúrese de que hay suficiente espacio en disco disponible en la unidad en la que la utilidad SQLDumper. exe está escribiendo el archivo de volcado.Puede especificar el directorio en el que desea que la utilidad SQLDumper. exe escriba el archivo de volcado. El directorio debe existir antes de ejecutar la utilidad SQLDumper. exe. De lo contrario, se producirá un error en la utilidad SQLDumper. exe. No use una ruta de acceso UNC como ubicación para el archivo de volcado. A continuación se muestra un ejemplo de cómo especificar la ubicación del archivo de volcado del archivo de volcado de minivolcado:

  1. Haga clic en Inicio y en Ejecutar, escriba cmd y, por último, haga clic en Aceptar.
  2. En el símbolo del sistema, escriba el comando siguiente y presione ENTRAR:
    cd SQLServerInstallDrive:\Program Files\Microsoft SQL Server\number\Shared
    Nota En esta ruta de carpeta, número es un marcador de posición para una de las siguientes opciones:
    • 140 para SQL Server 2017
    • 130 para SQL Server 2016
    • 120 para SQL Server 2014
    • 110 para SQL Server 2012
    • 100 para SQL Server 2008
    • 90 para SQL Server 2005
  3. Escriba el comando siguiente en el símbolo del sistema y presione ENTRAR: Sqldumper.exe ProcessID 0 0x0128 0 MdumpPath Nota MdumpPath es un marcador de posición para el directorio en el que desea que la utilidad SQLDumper. exe escriba el archivo de volcado. De forma predeterminada, el archivo se escribe en la carpeta actual.
Si especifica un archivo de volcado completo o un archivo de volcado filtrado para que se genere, la utilidad SQLDumper. exe puede demorar varios minutos en generar el archivo de volcado. El tiempo depende de las siguientes variables:
  • La cantidad de memoria que usa la utilidad SQLDumper. exe actualmente
  • La velocidad de la unidad en la que la utilidad está escribiendo el archivo de volcado

Durante este tiempo, la utilidad SQLDumper. exe no procesa los comandos. Verá que el servidor ha dejado de responder. Además, puede producirse una conmutación por error de clúster.Para ejecutar la utilidad SQLDumper. exe, debe iniciar sesión en Windows con uno de los métodos siguientes:

  • Use una cuenta que sea miembro del grupo administradores en el equipo.
  • Use la misma cuenta de usuario con la que se ejecuta el servicio de SQL Server.
Para que la utilidad SQLDumper. exe funcione correctamente a través del escritorio remoto o a través de los servicios de Terminal Server, debe iniciar escritorio remoto o servicios de Terminal Server en el modo de consola. Por ejemplo, para iniciar escritorio remoto en el modo de consola, haga clic en Inicio, haga clic en Ejecutar, escriba mstsc/consoley, a continuación, haga clic en Aceptar. Tenga en cuenta que si el servidor de destino ejecuta Windows 2000, la opción /Console se omite silenciosamente. Puede conectarse al servidor a través del escritorio remoto. Pero no utilizará la sesión de consola.
Si observa que no se ha generado ningún archivo de volcado en la carpeta actual después de ejecutar la utilidad SQLDumper. exe, revise la información que la utilidad ha generado en la línea de comandos para intentar determinar la causa posible del error. Esta información también se registra en el archivo Sqldumper_errorlog. log en el directorio actual. A continuación se muestran dos posibles mensajes de error y sus causas:
Mensaje 1
Error de OpenProcess 0x57: el parámetro es incorrecto
Se pasó un identificador de proceso no válido a la utilidad SQLDumper. exe.
Mensaje 2
Valor no válido para el identificador del subproceso: <parámetro no válido> error de parámetro
Se ha pasado un parámetro no válido a la utilidad SQLDumper. exe.Si se genera un mensaje de error similar a uno de los siguientes, puede omitir este mensaje sin ningún riesgo: 
Tipo de devolución de llamada desconocido durante el minivolcado 6Tipo de devolución de llamada desconocido durante el minivolcado 7

Impacto de la generación del volcado

Cuando se solicita un volcado de un proceso en modo de usuario (como se describe en este artículo, para estar contrastado con las Volcaciones del núcleo del sistema operativo que están fuera de nuestro ámbito), el proceso de destino (aquí SQLServer. exe) se inmoviliza por completo durante el tiempo que se tarda en serializar el contenido del volcado en el destino del archivo.

Inmovilizado significa que no podrá procesar ninguna solicitud de usuario ni pasar ninguna operación interna, incluido cualquier mecanismo de sondeo de recursos, como la implementación de IsAlive and LooksAlive de Windows Clustering (consulte la sección "cluster failovers and SQLDumper. exe Utility" para obtener detalles sobre cómo controlar esa situación). También se puede infringir el tiempo de espera en el reloj de la pared como consecuencia de la inmovilización.

Como se puede derivar de la instrucción anterior, la duración de la inmovilización es por lo tanto el factor crítico aquí, y se basa principalmente en lo siguiente:

  • El tipo de volcado seleccionado
  • El tamaño del proceso de SQL Server en la memoria, que en el caso de una única instancia activa que ejecuta parámetros predeterminados suele estar cerca de la RAM física total del servidor.
  • El rendimiento del disco utilizado como destino de la descarga.

Además, se debe planear el tamañodel archivo de volcado en disco, especialmente si varios volcados son una posibilidad y si se seleccionan tipos de volcado grandes, no predeterminados. Asegúrese de revisar la sección ' tipos de volcado ' para saber qué puede esperar. De forma predeterminada, algunos métodos de volcado crearán el volcado en la carpeta \Log de la instancia de SQL Server, que, en la configuración simple predeterminada, también sería el disco de sistema y el disco de registro de datos para SQL Server. La incorporación de ese disco a la saturación tendrá un impacto grave en SQL Server y/o en la disponibilidad del sistema.

Se han agregado tres mejoras importantes a las versiones más recientes de SQL Server para reducir el tamaño del archivo de volcado o el tiempo para generar el volcado de memoria:
  • Mecanismo de filtrado de mapa de bits
  • Eliminación de volcados repetidos en el mismo problema
  • Resultado abreviado en el ErrorLog
 

Filtrado de mapas de bits: se ha logrado una velocidad de volcado mejorada y un tamaño reducido debido a un nuevo mecanismo de filtrado de mapa de bits que se ha agregado a sql server 2019 y a sql server 2017.SQL Server asigna un mapa de bits que realiza un seguimiento de las páginas de memoria para ser excluido de un volcado filtrado. SQLDumper. exe lee el mapa de bits y filtra las páginas sin necesidad de leer ningún otro metadatos del administrador de memoria. Verá los siguientes mensajes en el mensaje de errores de SQL Server cuando el mapa de bits está habilitado o deshabilitado, respectivamente: "el mapa de bits de exclusión de páginas está habilitado" y "el mapa de bits de exclusión de páginas está deshabilitado".

SQL Server 2016

  • A partir de SQL Server 2016 SP2 CU13, el filtrado de mapa de bits está habilitado de forma predeterminada.

SQL Server 2017

  • Esto no está disponible en RTM a través de CU15
  • En SQL Server 2017 CU16 puede habilitar el filtrado de mapa de bits a través de T8089 y deshabilitarlo desactivando T8089
  • Iniciar con SQL Server 2017 CU20 el filtrado de mapa de bits está habilitado de forma predeterminada. La marca de seguimiento T8089 ya no se aplicará y se omitirá si está activada. El filtrado de mapa de bits puede deshabilitarse a través de T8095.

2019 de SQL Server

Esta opción está habilitada de forma predeterminada en SQL Server 2019 RTM. Puede deshabilitarse a través de T8095.

 
Eliminación de volcados repetidos en el mismo problema:ahora se han eliminado las descargas de memoria de epeated. Con una firma de pila, el motor SQL realiza un seguimiento si ya se ha producido una excepción y no generará un nuevo volcado de memoria si ya hay una. Esto se aplica a infracciones de acceso, desbordamiento de pila, aserciones y excepciones de daños de índice. Esto reduce significativamente la cantidad de espacio en disco que usan los volcados de memoria y no inmoviliza temporalmente el proceso para generar un volcado. Esto se agregó en SQL Server 2019.
 
Se ha abreviado el resultado en el ErrorLog:El contenido generado en el volcado de errores de SQL Server a partir de un único volcado de memoria no puede ser abrumador, sino también ralentizar el proceso de generación de un volcado de memoria debido al tiempo que se ha tenido que serializar toda esta información en un formato de texto en el ErrorLog. En SQL Server 2019, el contenido almacenado en el ErrorLog en la generación de volcado se ha reducido enormemente y puede tener el siguiente aspecto:
 
DateTime SPIDSPID * * dump Thread-SPID = 0, EC = 0x0000015C7169BF40
PID de DateTime SPID S *
DateTime SPIDSPID * pila de descarga iniciada por el usuario. Este no es un volcado de excepción del servidor.
PID de DateTime SPID S *
La firmaPID de DateTime SPID S de la pila de descarga es de 0x00000000788399E5
PID de DateTime SPID S proceso de volcado externo de devoluciones de código 0x20000001.
El proceso de volcado externo no ha devuelto errores.
 

Anteriormente, SQL Server imprimiría información de cada sesión o subproceso cuando el usuario desencadenara un volcado manual, por ejemplo. 

Tipos de volcado

Los métodos descritos pueden generar tres tipos diferentes de volcados: minivolcados, volcados completos y volcados filtrados.

Los minivolcados con memoria de referencia son una instantánea de todos los subprocesos activos del proceso ("pilas de subprocesos"), junto con un extracto limitado de la memoria a la que hacen referencia las pilas de subprocesos y otros datos de procesos o subprocesos clave. Suelen tener un tamaño de unos megabytes y son muy rápidos de generar (desde menos de un segundo hasta un par de segundos). Incluso los sistemas de servidor más grandes (con cientos de CPU que conducen indirectamente de un número masivo de subprocesos en el proceso de SQL Server) raramente superan 20-30 MB: el tamaño de un minivolcado no se incrementa con el tamaño del proceso de SQL Server. Este tipo de volcado es el tipo predeterminado utilizado por SQL Server al generar automáticamente volcados de memoria en excepciones, problemas del programador, problemas de pestillos, etc.

Tenga en cuenta que, como parte de su instrumentación integrada, SQL Server generará "volcados de diagnóstico" automatizados en algunas situaciones específicas. Por lo tanto, esta operación se considera suficientemente segura para que SQL Server pueda activarla automáticamente cuando sea necesario.

Los volcados completos son una copia completa del espacio del proceso de destino activo. Esto podría incluir todo el estado de los subprocesos, toda la memoria asignada a procesos y todos los módulos cargados. Por lo tanto, los volcados completos tienen un tamaño que es aproximadamente el mismo proceso de SQL Server, que a su vez puede ser casilo más grande que la RAM total del sistema. En servidores grandes dedicados a una única instancia de SQL Server, eso puede significar un archivo que tenga varios cientos de gigabytes o más. De manera inesperada, tal archivo tardará mucho tiempo en generarse y, por consiguiente, provocará un bloqueo de prolongated. El rendimiento del disco para el destino del volcado será un impulsor importante para congelar el tiempo. Tenga en cuenta que este tipo de volcado casi rara vez se usa para SQL Server hoy, como se explica en la siguiente descripción.

Volcados filtrados: como el tamaño de RAM de los servidores típicos que ejecutan SQL Server se ha incrementado, los volcados completos se hicieron cada vez más y difíciles de manejar. Los volcados filtrados se han implementado de esta manera: son un subconjunto de volcados completos, en los que las grandes áreas de estructuras de memoria relacionadas con SQL Server se omiten a propósito y no se serializan en el disco porque no producen valor agregado para la solución de problemas (normalmente, páginas de datos o de índices, algunas cachés internas como las páginas de datos y la memoria del grupo de registros). Esto da como resultado un archivo más pequeño que un volcado completo y conserva casi toda su utilidad, y esto ha reemplazado los volcados completos como opción preferida en una gran mayoría de situaciones en las que los pequeños volcados no eran suficientes. La disminución de tamaño en comparación con el volcado total puede variar mucho, pero sigue siendo un archivo bastante grande, que suele ser el 30-60% del tamaño de proceso de SQL Server, por lo que es mejor planear un posible tamaño como un volcado completo como una opción peor, que debería dejar un buen margen de seguridad. Tenga en cuenta que un volcado filtrada puede no ser necesariamente más rápido de generar que un volcado completo en todos los casos: es cuestión de si los beneficios relacionados con el número de e/s se han evitado y superan el tiempo necesario para implementar la lógica de filtro (de modo que la velocidad del disco y la velocidad de CPU o RAM influirán).

Puede usar la utilidad SQLDumper. exe para generar un archivo de volcado a petición para cualquier aplicación de Microsoft Windows. Por ejemplo, puede generar un archivo de volcado para la depuración de un problema de aplicación cuando un equipo que ejecuta Microsoft SQL Server no responde a las solicitudes de usuario. Un archivo de volcado puede ser un archivo de volcado parcial o un archivo de volcado completo. Un archivo de volcado filtrado solo es aplicable y tiene sentido en el contexto de SQL Server..Sin embargo, no puede usar la utilidad SQLDumper. exe para la depuración de propósito general. Para obtener más información sobre la depuración de propósito general, visite el siguiente sitio web de Microsoft:

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

El proceso de SQL Server llama a la utilidad SQLDumper. exe de forma interna para generar un archivo de volcado cuando el proceso experimenta alguna excepción. SQL Server pasa las marcas a la utilidad SQLDumper. exe. Puede usar marcas de seguimiento para cambiar las marcas que SQL Server pasa a la utilidad en el contexto de una excepción o en el contexto de una aserción. Estos indicadores de seguimiento están comprendidos entre 2540 y 2559. Puede usar estos indicadores de traza para generar determinados tipos de archivos de volcado. Por ejemplo:

  • La marca de seguimiento 2551: genera un volcado de memoria filtrada
  • La marca de seguimiento 2544: genera un volcado de memoria completa
  • Indicador de seguimiento 8026: SQL Server borrará un desencadenador de volcado después de generar el volcado una vez

Si hay dos o más indicadores de traza activos, se atenderá la opción que indica el volcado de memoria más grande. Por ejemplo, si se usan los indicadores de seguimiento 2551 y 2544, SQL Server creará un volcado de memoria completa.

Cómo obtener un identificador de proceso de la aplicación de Microsoft Windows

Para generar un archivo de volcado con la utilidad SQLDumper. exe, debe tener el identificador de proceso de la aplicación de Windows para la que desea generar un archivo de volcado. Para obtener el identificador de proceso, siga estos pasos:

  1. Presione CTRL + ALT + Supr y, a continuación, haga clic en Administrador de tareas.
  2. En el cuadro de diálogo Administrador de tareas de Windows , haga clic en la pestaña procesos .
  3. En el menú vista , haga clic en seleccionar columnas.
  4. En el cuadro de diálogo seleccionar columnas , active la casilla PID (identificador de proceso) y, a continuación, haga clic en Aceptar.
  5. Observe el identificador de proceso de la aplicación de Windows para la que desea generar un archivo de volcado. Para la aplicación SQL Server, observe el identificador de proceso del proceso Sqlservr. exe.
  6. Cierre el Administrador de tareas.

También puede obtener el identificador de proceso de la aplicación SQL Server que se está ejecutando en el equipo mediante el archivo de registro de errores de SQL Server. Por ejemplo, una parte del archivo de registro de errores de SQL Server es similar a la siguiente:

Date/Time Servidor Microsoft SQL Server 2005-9.00.1399.06 (Intel x86)Fecha y horaCopyright (c) 1988-2005 Microsoft CorporationEnterprise Edition en Windows NT 5,2 (compilación 3790: Service Pack 1)Fecha y hora Server (c) 2005 Microsoft Corporation.Date/Time Servidor todos los derechos reservados.Date/Time El identificador de proceso de servidor servidor es 3716.

El número que aparece después del identificador de proceso del servidor es el identificador del proceso Sqlservr. exe.

Conmutación por error de clúster y la utilidad SQLDumper. exe

En escenarios de conmutación por error de clúster, la DLL de recursos de SQL Server puede obtener un archivo de volcado antes de que se produzca la conmutación por error. Cuando la DLL de recursos de SQL Server determina que se ha producido un error en un recurso de SQL Server, la DLL de recursos de SQL Server usa la utilidad SQLDumper. exe para obtener un archivo de volcado del proceso de SQL Server. Para asegurarse de que la utilidad SQLDumper. exe genera correctamente el archivo de volcado, debe establecer las tres propiedades siguientes como requisitos previos:
  • SqlDumperDumpTimeOut Un tiempo de espera especificado por el usuario. La biblioteca DLL de recursos espera a que se complete el archivo de volcado antes de que el archivo DLL de recursos detenga el servicio de SQL Server.
  • SqlDumperDumpPath La ubicación donde la utilidad SQLDumper. exe genera el archivo de volcado.
  • SqlDumperDumpFlags Indicadores que usa la utilidad SQLDumper. exe.

Si alguna de las propiedades no está establecida, la utilidad SQLDumper. exe no puede generar el archivo de volcado. Se registrará un mensaje de advertencia tanto en el registro de eventos como en el registro de clúster siempre que el recurso se conecte.

Para SQL Server 2012 y versiones posteriores

Puede usar el comando ALTER SERVER CONFIGURATION (T-SQL) para modificar estas propiedades. Por ejemplo:

ALTER SERVER CONFIGURATION Set FAILOVER CLUSTER PROPERTY SqlDumperDumpTimeOut = 0;

ALTER SERVER CONFIGURATION Set FAILOVER CLUSTER PROPERTY SqlDumperDumpPath = ' C:\temp\ ';

ALTER SERVER CONFIGURATION Set FAILOVER CLUSTER PROPERTY SqlDumperDumpFlags = 296;

También puede usar scripts de PowerShell. Por ejemplo, para una instancia con nombre SQL2017A:

Get-ClusterResource-name "SQL Server (SQL2017AG)" | Set-ClusterParameter-name "SqlDumperDumpPath"-Value "C:\temp"

Get-ClusterResource-name "SQL Server (SQL2017AG)" | Set-ClusterParameter-name "SqlDumperDumpFlags": valor 296

Get-ClusterResource-name "SQL Server (SQL2017AG)" | Set-ClusterParameter-name "SqlDumperDumpTimeOut": valor 0

Para validar que se ha aplicado la configuración, puede ejecutar este comando de PowerShell:

Get-ClusterResource-name "SQL Server (SQL2017AG)" | Get-ClusterParameter

Para SQL Server 2008/2008 R2 o Windows 2012 y versiones anteriores

Cómo usar DBCC STACKDUMP

Los DBCC STACKDUMP comando puede ayudarle a crear un volcado de memoria en el directorio de registro de la instalación de la instancia de SQL Server. El comando creará de forma predeterminada un minivolcado con todos los subprocesos con un tamaño limitado y es adecuado para reflejar el estado del proceso de SQL Server. Simplemente ejecute el siguiente comando en un cliente de SQL Server:

DBCC STACKDUMP

Para habilitar este método para crear un volcado filtrado, active los indicadores de seguimiento 2551 con el siguiente comando:

dbcc traceon(2551, -1) godbcc stackdump

Para crear un volcado completo, use la marca de seguimiento 2544.

Nota después de obtener el archivo de volcado, debe deshabilitar la marca de seguimiento con el siguiente comando para evitar que actualice sin darse cuenta todos los minivolcados de autodiagnóstico de SQL Server a volcados más grandes:

DBCC TRACEOFF (TraceNumber, -1);   GO

Donde tracenumber es la marca de seguimiento que ha habilitado anteriormente, como 2551 o 2544.

Si no está seguro de qué marca de seguimiento permanece activa, puede ejecutar:

DBCC TRACESTATUS(-1)

Un conjunto de resultados vacío indica que no hay traceflag activo. Por el contrario, si 2551 todavía está activo, vería:

Sesión global de estado de TraceFlag

--------- ------ ------ -------

2551 1 1 0

Nota: El TraceFlags habilitado por DBCC TRACEon se restablece (se quita) después de que se reinicie el servicio.

Cómo usar un script de PowerShell para generar un archivo de volcado con SQLDumper. exe

  • Guarde el código siguiente como un archivo PS1, por ejemplo, SQLDumpHelper. PS1:
  • Ejecútelo desde el símbolo del sistemacomo administrador con el siguiente comando:
    Powershell.exe -File SQLDumpHelper.ps1
  • O ejecútelo desde la consola de Windows PowerShell y ejecútelocomo administrador con el siguiente comando:
    .\SQLDumpHelper.ps1

Nota Si nunca ha ejecutado scripts de PowerShell en su sistema, es posible que reciba el siguiente mensaje de error:

Archivo... SQLDumpHelper. PS1 no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema.

Debe habilitar la posibilidad de ejecutarlas siguiendo estos pasos:

  1. Inicie la consola de Windows PowerShell con la opción "ejecutar como administrador". Solo los miembros del grupo administradores del equipo pueden cambiar la Directiva de ejecución.
  2. Habilite la ejecución de scripts sin firmar con el siguiente comando:
    Set-ExecutionPolicy RemoteSigned

    Nota Esto le permitirá ejecutar scripts sin firmar que cree en el equipo local y las secuencias de comandos firmadas desde Internet.