Soran
SQL-Tabloda o an Çalışan sorguyu log 'ta kaydetme!Yardım Lütfen...!

Soru
-
Mrhb,
Arkadaşlar aşağıdaki gibi bir trigger ım var..
ALTER trigger [dbo].[Trg_LogKaydet]
ON [dbo].[KayitTablosu] for insert,update,delete not for replication
as
set NOCOUNT ON;
DECLARE @operation as Varchar(10)
DECLARE @Count as int
SET @operation = 'Inserted' -- Setting operation to 'Inserted'
SELECT @Count = COUNT(*) FROM DELETED
if @Count > 0
BEGIN
SET @operation = 'Deleted' -- Set Operation to 'Deleted'
SELECT @Count = COUNT(*) FROM INSERTED
IF @Count > 0
SET @operation = 'Updated' -- Set Operation to 'Updated'
END
if @operation = 'Deleted'
BEGIN
Insert into LogKaydi(Tarih,IslemYapilanID,YapilanIslem,IslemTablosu,ID,IslemiYapan)
SELECT GETDATE(),ID,'Delete','KayitTablosu',ListeID,SUSER_SNAME()+' - '+HOST_NAME() from deleted
ENDBu trgigger ile sıkıntısız işlemlerin kaydını databasedeki bir tabloya kaydediyorum.Fakat bana Tetiklendiğinde hangi sorgunun çalıştığını lazım.Neyin değişip neyin eklendiğinide alıp database atmak istiyorum.
Bu konuda yardımlarınız bekliyorum.Teşk.
Tüm Yanıtlar
-
-
-
SELECT req.session_id, sqltext.TEXT FROM sys.dm_exec_requests req CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
Trigger içinde bu iki alanı bir log table'a insert edip bakın istediğinizi veriyor mu.
dergikapaklari.com -
-
Merhabalar,
Amacınız çalışan DML işlemleri ile ilgili log tutmak ise SQL Server'da Audit kullanmayı deneyebilirsiniz. SQL Audit ile Insert, Update, Delete ve hatta Select komutlarını loglayabilirsiniz. Bu yöntem ile çalıştırılan sorgular da logda tutulabiliyor.
https://msdn.microsoft.com/en-us/library/cc280386.aspx?f=255&MSPPError=-2147217396
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
www.abdullahaltintas.com- Yanıt Olarak Öneren Bahadır GÜMÜŞ 27 Ocak 2017 Cuma 14:12
-