Cuando consulto la configuración de la traza predeterminada, muestra habilitado:
exec sp_configure 'default trace enabled';
-->
name minimum maximum config_value run_value
default trace enabled 0 1 1 1
Pero cuando consulto sys.traces
la ruta, devuelve un conjunto de filas vacío:
select * from sys.traces;
¿Qué podría explicar la ausencia de la traza habilitada?
sql-server
sql-server-2008-r2
trace
Andomar
fuente
fuente
select * from sys.traces
devuelve un conjunto de filas vacíoEXEC sp_trace_setstatus @traceid = 1, @status = 0
devuelve,The default trace cannot be stopped or modified.
así que no estoy seguro de que se pueda detener a menos que haya un error que impida que se ejecute. ¿Hay algo en los registros de errores?Respuestas:
Yo diría que hay una fuerte correlación entre su evento fuera del espacio y la traza que falta. Tenga en cuenta que la
sp_configure
opción simplemente le dice que el rastreo predeterminado está habilitado, pero eso no significa que se esté ejecutando o que incluso exista. Tenga en cuenta quesys.traces
no es una tabla sino una vista:¿Qué
TABLE SYSTRACES
proporciona el conjunto de filas? ¿Como funciona? ¿Cómo se filtran sus resultados? Tu invitado es tan bueno como el mío. Es posible que la traza todavía esté allí, pero en un estado que evita que quede expuesta por esta vista. Y puede estar en un estado que todavía impide que se inicie incluso después de reiniciar el servicio.Primero, asegúrese de que la ubicación de la traza predeterminada tenga suficiente espacio, la cuenta de servicio de SQL Server todavía tiene los permisos adecuados para escribir en ella, no está sujeto a ninguna cuota de espacio, etc. Puede obtener la ubicación desde el registro:
Una vez que esté seguro de que SQL Server debería poder escribir en esta carpeta, puede deshabilitar y volver a habilitar el rastreo predeterminado:
No debería necesitar reiniciar el servicio de SQL Server en este punto, pero puede ser una patada final en los pantalones de SQL Server si aún no ve una fila
sys.traces
. Tenga en cuenta quetrace_id
no se garantiza que lo que obtenga se quede en 1.fuente
with override
. Los registros de errores mostraron un evento fuera del espacio.with override
es costumbre.Tuve el mismo problema después de que se llenó el disco. El rastreo predeterminado estaba habilitado pero no se estaba ejecutando. Deshabilitarlo y volver a habilitarlo funcionó de inmediato sin detener los servicios.
fuente