Tenemos un trabajo del Agente SQL Server que ejecuta un plan de mantenimiento para reindexar toda la base de datos en el servidor. Recientemente esto ha fallado, pero el historial de trabajo no proporciona suficiente información para diagnosticar el problema.
En el historial de trabajos indica que el trabajo falló. El trabajo fue invocado por el usuario foo \ bar. El último paso para ejecutar fue el paso 1 (Reconstruir índice).
En la ventana de detalles hay varios mensajes en la siguiente forma:
Executing query "ALTER INDEX [something] ON [a...".: 0% complete End Progress Progress: 2015-03-15 22:51:23.67 Source: Rebuild Index Task
La declaración SQL que se está ejecutando está truncada, y supongo que la salida de la declaración también está truncada, lo que me impide identificar qué declaración en particular ha fallado y por qué. ¿Hay alguna forma de extraer el texto completo de estos mensajes?
fuente
Respuestas:
Puede lograrlo de 2 maneras: vaya al paso de trabajo y seleccione la pestaña Avanzado:
a. Salida a un archivo (<== Mi método preferido)
si. "Iniciar sesión en la tabla" e "Incluir salida de paso en el historial" (<== Necesita recortar
msdb..sysjobhistory
a largo plazo ya que los mensajes se almacenan como ennvarchar(max)
lugar denvarchar(1024)
)Para ver la información adicional registrada necesita usar este procedimiento almacenado sp_help_jobsteplog o puede consultar la
msdb.dbo.sysjobstepslogs
tabla directamente.Más información aquí.
fuente
sysjobstepslogs
. Esta fue la recomendación de la mayoría de las discusiones en línea sobre este problema. Pero el método (a), salida a un archivo, NO tenía este problema: ¡los archivos de texto me muestran todo el registro de pasos de trabajo, finalmente sin truncamiento! (En mi caso, los pasos de mi trabajo sonDTEXEC
comandos que ejecutan paquetes SSIS). Solo inconveniente: solo se ve la última ejecución, a menos que se agregue al archivo. En lugar de agregar, elijo vivir con truncamiento en ejecuciones anteriores.Puedes obtener el texto completo:
select properties
step
y haga clic en eledit
botónadvanced
. Aquí puede ver la ruta de registro.Ahora es simple seguir el camino.
fuente