13 Ekim 2015 Salı

SQL Server Audit - Filtreleme

Selam millet,

En son SQL Server Auditing özelliğini SQL Server 2008 kullanılan bir ortamda etraflıca kullanmıştım, bugün tekrar böyle bir kurulum yaparken ve yenilikleri incelerken fark ettim ki SQL Server 2012 ile birlikte loglanacak verinin filtrelenebilmesi sağlanmış. Bu loglama, tam olarak veri log dosyasına yazılmadan önce yapılıyor.

Bu ayar, SSMS->Object Explorer->Security->Audits öğesinde ayarladığınız hedef dosyanın özelliklerindeki Filter bölümünden veya T-SQL ile ayarlanabiliyor.


Örneğin yukarıdaki örnekte özellikle 2 Login'e ait işlemlerin loglanmamasını istediğimi belirttim. Bu alanı WHERE'den sonra Predicate'leri tanımlıyoruz gibi düşünün.

İlgili sayfa olan https://msdn.microsoft.com/en-us/library/cc280525(v=sql.110).aspx adresinde bu konuda özet bir bilgi verilmiş ve şöyle denmiş:

"Optionally, on the Filter page, enter a predicate, or WHERE clause, to the server audit to specify additional options not available from the General page. Enclose the predicate in parentheses; for example: (object_name = 'EmployeesTable')."

Yani efendime söyleyeyim "İsterseniz Filter sayfasında bir Predicate veya WHERE cümleciği girebilir ve General sayfasında varolmayan bazı seçenekleri belirtebilirsiniz. Predicate'leri parantez içinde yazın, mesela (object_name = 'EmployeesTable') gibi." diyor.

Peki burada Predicate olarak kullanılabilecek alanlar nelerdir? Nereden bulacağız bu alanları? Aşağıda adresini paylaştığım dokümandaki alanları kullanabilirsiniz:


Kolay gelsin,
Ekrem Önsoy

Hiç yorum yok: