Log Query Script SqlServer

Buenas tardes amigo!
Tengo una curiosidad, en postgre y mysql pueden hacer que todos los Script recibidos por el servidor,
se almacenen en un archivo log con el id del usuario que los envío y la fecha.
Mi pregunta es:
¿Existe algún equivalente en SQLserver, para revisar los script enviado al servidor y como se haría?
De antemmano muchas gracias
Atentamente
Ivan David Besson

5 Respuestas

Respuesta
1
En principio lo que creo entender es que quieres ver las instrucciones Transact-Sql o querys y comandos que se estén ejecutando en el servidor de Base de datos, SQL Server tiene la posibilidad de activar el analizador de SQL Management Studio.
Donde podrás ver las trazas de código sesión, proceso y todo eso.
Depende de que versión de SQLServer estés usando, hay otras opciones más menos complejas.
Por ejemplo en 2008, tienes la posibilidad de habilitar -- Capture Process Log Scan Statistics Template, y otras opciones con funciones propias de la BBDD.
Te recomiendo documentarte bien si quieres sacarle provecho a estas herramientas.
Creo que las versiones express de SQL tienen algunas limitaciones por si fuera tu caso.
Respuesta
1
Yo uso sql server 2005 express en este viene una herramienta llamada Activity Monitor esta en la parte de management no se si te sirva para lo que me preguntas.
Te dejo este link donde viene info de SQL Server 2005 Log File Viewer.
Respuesta
1
En SQL si existe una propiedad que debes habilitar para que te permita guardar un log en el disco de las transacciones que llegan al servidor sql, para ello debes hacer lo siguiente para habilitarla:
USE master
EXEC sp_configure 'show advanced option', '1'
Reconfigure
Si quieres deshabilitar reemplaza 1 por 0
Ahora, la ruta donde se almacena los log es
C:\Program Files\Microsoft SQL Server\MSSQL\Data\audittrace\AuditTrace_yyyymmddhhmmss.trc
Esto lo almacena en log de 200 mb y cuando se llena crea un archivo nuevo, debes tener cuidado de quedarte sin espacio en el disco.
Esos archivos se abren en el Profiler del SQL en caso quieras leerlo o también puedes consultar directamente un archivo vía transact sql de la siguiente manera:
SELECT *
FROM ::fn_trace_gettable(
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\audittrace_20041007153315.trc', default
)
GO
Muchas Gracias Amigo!
Lo active, pero no consigo ese archivo *.trc
¿Hay forma de especificar el nombre y localización del archivo?
Estoy leyendo lo que te envíe y veo que me equivoque en algo, lo que debes que activar es lo siguiente:
USE [master]
go
EXEC sp_configure 'c2 audit mode', '1';
Reconfigure
El resto esta bien, prueba, ahora si debería funcionar.
Respuesta
1
Pues supongo que existe alguna forma para escribir el event log que quieres donde quieres, pero normalmente MS SQL usa el event log del Gûindos por default no tiene la opción que quieres ya sabes es "Micro$oft"
Para ver el event log lo puedes hacer por
inicio -> ejecutar -> eventvwr
hay lo encuentras, le puedes dar opción de exportar lista y lo pasas al formato que quieras.
Hay un experto de nombre morenesi, tal vez el te pueda dar una luz acerca de como seria el trigger para crear el log que deseas.
Siento no poder ayudar mucho en este caso
Respuesta
1
Nunca he necesitado información de este tipo así que no podre ayudarte mucho.
Si los querys se realizan con el query analizer solo el log que guarda el servidor puede darte esa información, dependiendo de la configuración que des al crear la base de datos.
Hay 3 niveles de Log simple, medio y full.
Si es por un sistema que tu hayas hecho (o un externo) puedes poner rutinas para que te hagan los logs al ser llamados los Stored procedures.
Si la segunda opción te es útil, entonces si podre ayudarte.
Te mando un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas