Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Trazas de Servidor

Estas en el tema de Trazas de Servidor en el foro de SQL Server en Foros del Web. Hola a todos, necesito ayuda con trazas de servidor, que difieren de las trazas de cliente en que se ejecutan automáticamente cuando se inicia el ...
  #1 (permalink)  
Antiguo 01/06/2006, 09:14
 
Fecha de Ingreso: abril-2006
Mensajes: 6
Antigüedad: 18 años
Puntos: 0
Trazas de Servidor

Hola a todos, necesito ayuda con trazas de servidor, que difieren de las trazas de cliente en que se ejecutan automáticamente cuando se inicia el servidor SQL. (sin necesidad de que se ejecute en el Analizador de SQL) Las trazas de servidor se implementan con stored procedures engloblados en un stored procedure de usuario creada en la master.El problema que tengo es que no se cómo hacer que se ejecute en forma continua (ya que esa es la idea de auditar un servidor).Genera el archivo de traza y se detiene la ejecución. El script para crear la traza es el siguiente: CREATE procedure dbo.AuditDBA AS DECLARE @FileLocation nvarchar(1000), -- Ubicación del archivo de traza @RC int, -- Código de retorno @TraceID int,-- ID de la traza @MaxTraceSize bigint, -- Tamaño máximo del archivo (en MB) @On bit,-- Bit variable para seteo de eventos de la traza (1= ON ) @StartTime datetime -- Hora de inicio SELECT @FileLocation = 'C:\Archivos de programa\Microsoft SQL\Server\80\Tools\Templates\SQL Profiler' @MaxTraceSize = 1, @On = 1, @StartTime = GETDATE() SELECT @FileLocation = @FileLocation CONVERT(VARCHAR(4),DATEPART(yyyy, GETDATE())) CASE WHEN DATEPART(mm, GETDATE()); 10 THEN '0'+CONVERT(VARCHAR(2),DATEPART(mm, GETDATE())) ELSE CONVERT(VARCHAR(2),DATEPART(mm, GETDATE())) END CASE WHEN DATEPART(dd, GETDATE()); 10 THEN '0'+CONVERT(VARCHAR(2),DATEPART(dd, GETDATE())) ELSE CONVERT(VARCHAR(2),DATEPART(dd, GETDATE())) END CASE WHEN DATEPART(hh, GETDATE()); 10 THEN '0'+CONVERT(VARCHAR(2),DATEPART(hh, GETDATE())) ELSE CONVERT(VARCHAR(2),DATEPART(hh, GETDATE())) END CASE WHEN DATEPART(mi, GETDATE()); 10 THEN '0'+CONVERT(VARCHAR(2),DATEPART(mi, GETDATE())) ELSE CONVERT(VARCHAR(2),DATEPART(mi, GETDATE())) END -- Se crea la traza EXEC @RC = sp_trace_create @TraceID OUTPUT, @options=2, @tracefile=@FileLocation, @maxfilesize=@MaxTraceSize, @stoptime=null --Estos son algunos de los eventos que quiero registra --Existing Connection: Detecta toda la actividad de los usuarios conectados --a SQL server antes del inicio de la traza. exec sp_trace_setevent @TraceID, 17, 27, @on exec sp_trace_setevent @TraceID, 17, 10, @on exec sp_trace_setevent @TraceID, 17, 35, @on exec sp_trace_setevent @TraceID, 17, 1, @on exec sp_trace_setevent @TraceID, 17, 14, @on --Audit Login Failed:Indica que un intento de inicio de sesión --en SQL Server desde un cliente ha sido erróneo. exec sp_trace_setevent @TraceID, 20, 27, @on exec sp_trace_setevent @TraceID, 20, 10, @on exec sp_trace_setevent @TraceID, 20, 35, @on exec sp_trace_setevent @TraceID, 20, 1, @on exec sp_trace_setevent @TraceID, 20, 14, @on -- Excluir toda actividad relacionada con la aplicacion Analizador de SQL <font color="Blue">exec sp_trace_setfilter @TraceID, 10, 0, 7, N'Analizador de SQL' -- Cambia el estado de la traza a 'Iniciado' exec sp_trace_setstatus @TraceID, 1 -- Se setea la traza como de inicio automatico con el servidor exec sp_procoption N'AuditDBA', N'startup', N'true' Cualquier tipo de ayuda o sugerencia será bienvenida. Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.