SQL Server ile ilgili her şey.

SQL Server EventData Fonksiyonu

S

Herkese merhaba,

Bu yazıda size SQL Server’da EventData Fonksiyonundan bahsedeceğim.

SQL Server’da EventData fonksiyonu ile tetikleyiciyi başlatan olayla ilgili veriler alabilirsiniz. Bu fonksiyon veritabanı olaylarıyla ilgili bilgiler döndürür ve XML veri tipinde depolanır. XML verileri isterseniz bir tabloda depolayabilirsiniz. Aşağıdaki örnekte konu ile ilgili yapılmış çalışmayı görmektesiniz.

--Database oluşturma

CREATE DATABASE Esya
GO

--Database kullanımı

USE Esya
GO

--Tablo oluşturma

CREATE TABLE Esyalar(
EsyaId INT,
EsyaAd NVARCHAR(100)
)


--Event Tablosu Oluşturma

CREATE TABLE EventLog  
(  
   GonderilmeZamani DATETIME,  
   LoginAdi NVARCHAR(100),  
   EventTipi NVARCHAR(100),  
   GonderilenKomut NVARCHAR(2000)   
)  
GO  


--Trigger oluşturma (Tabloda bir değişiklik olduğu zaman)

CREATE TRIGGER EsyalarTablosuDegisim   
ON DATABASE   
FOR ALTER_TABLE 
AS  
DECLARE @Veri XML  
SET @Veri = EventData()  
INSERT EventLog (GonderilmeZamani, LoginAdi, EventTipi, GonderilenKomut)   
VALUES   
   (GETDATE(),   
   CONVERT(NVARCHAR(100), CURRENT_USER),   
   @Veri.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(100)'),   
   @Veri.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(2000)') ) ;  
GO  


--Event tablosunu listeleme

SELECT * FROM  EventLog

---Tabloya yeni bir alan ekleme

ALTER TABLE Esyalar  
ADD EsyaTipi int NOT NULL 

--Tablonun kontrol edilmesi

SELECT * FROM dbo.Esyalar

--Event tablosunun kontrol edilmesi

SELECT * FROM  EventLog

Görüldüğü üzere Alter Table ile yeni bir alan eklemesi yapılmış ve bu ekleme yapılınca trigger tetiklenmiş, EventLog tablosuna kayıtlar aktarılmıştır. Bu aktarımlarda temel seviye XQuery bilmekte yarar var.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

Yazar Hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Yavuz Selim Kart
SQL Server ile ilgili her şey.

Yazar

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.