Ver Inserts fallidos SQLSERVER

Loading...

Ver Inserts fallidos SQLSERVER

Estoy realizando una integración, donde la aplicación ejecuta varias querys automáticamente. En este caso intenta realizar un insert, y si no lo consigue repite cada dos minutos la operación.
No se están realizando porque lo intenta con datos erróneos, el problema reside en que no tengo acceso al código fuente de esta aplicación y no puedo hacerle un debug para ver como realiza dicha consulta.
Alguna forma de consultar los insert y demás consultas erróneas que se intentaron contra una base de datos? Tengo permisos de administrador en esa BD. 
Alguna query como las de ver las transacciones pero para ver un histórico de consultas ejecutadas?

Solutions/Answers:

Answer 1:

Crea una trigger para las inserciones de tipo INSTEAD OF en tu tabla. En este trigger incluirás que antes de insertar en tu tabla original (dbo.TuTabla) inserte en otra tabla adicional (en el ejemplo dbo.TABLA2).

CREATE TRIGGER [dbo.] tr_inserciones
ON dbo.TuTabla
INSTEAD OF INSERT
AS
BEGIN
insert into dbo.TABLA2 (campo1,campo2,campo3)
select campo1, campo2, campo3 from inserted
insert into dbo.TuTabla (campo1,campo2,campo3)
select campo1, campo2, campo3 from inserted
END

Answer 2:

Y si lo intentas con SQLProfiler? Es una herramienta que tiene el ssms..
introducir la descripción de la imagen aquí

Una vez creada la traza podrás capturas todas las querys que se ejecutan, te recomiendo que pongas filtros
introducir la descripción de la imagen aquí

Answer 3:

Una forma alternativa de ver todo lo que pasa en tu base de datos, es usar los Eventos Extendidos. Son una herramienta que funciona como la evolución de SQL Profiler y tiene más características, mejores funcionalidades y menor impacto en el rendimiento de la instancia.

La documentación de SQL Server tiene extensivas explicaciones de como hacerlo, así como lo han hecho en múltiples blogs.

Inicio rápido: Eventos extendidos en SQL Server

References

Loading...