TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
Mehmet GÜZEL
When:
29 Nov 2011 12:09 AM
Last revision by
Naomi N
(eMicrosoft Partne)
When:
17 Sep 2013 12:58 PM
Revisions:
7
Comments:
1
Options
Subscribe to Article (RSS)
Share this
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using
these instructions
.
Wiki
>
TechNet Articles
>
SQL Server 2012 Audit Yenilikleri (tr-TR)
SQL Server 2012 Audit Yenilikleri (tr-TR)
Article
History
SQL Server 2012 Audit Yenilikleri (tr-TR)
Bu yazımda SQL Server 2012 ile birlikte Audit tarafındaki yeniliklere değineceğim.
SQL Server 2008 ile birlikte gelen güzel özelliklerden birisi de Audit idi. Audit, veritabanı tarafında güvenlik ile ilgili yönetimsel işleri kolaylaştırdığı gibi özellikle denetimden geçen firmaların denetimlerinin daha rahat geçmesine vesile oldu.
SQL Server 2012 ile birlikte audit tarafında gelen yenilikler:
• Server Audit tüm SQL Server 2012 sürümlerinde olacak şekilde genişletildi. Database Audit sadece enterprise, developer ve evaluation sürümleri ile sınırlı olacak.
• Audit, log dosyasına yazma hatalarına karşı güçlendirildi. Örneğin ağda paylaşımdaki bir dizinde tutulan audit loglar network gidip geldiğinde Audit kaldığı yerden devam edebilecek. SQL Server 2008 de network gittiğinde Audit i tekrar başlatmak gerekiyordu.
• Bir Audit için maximum log dosya sayısını belirtebileceğimiz MAX_FILES parametresi geliyor.
• SQL Server Audit specification’ları user-defined audit group destekleyecek. Böylece kendi audit gruplarınımızı ekleyebileceğiz.
• sys.server_file_audits, sys.server_audits, ve sys.fn_get_audit_file DMV lerine yeni kolonlar eklendi.
• Yeni audit gruplar contained database kullanıcılarının izlenmesini destekliyor.
• SSMS daki Audit diyalog ekranlarına yeni audit optiyonları eklendi.
• SQL Server 2008’deki Audit’te filtre özelliği yoktu ve bu ihtiyaç duyulan büyük bir eksiklikti. Audit için filtre özelliği SQL Server 2012 ile birlikte geliyor.
Tüm bu yeniliklerden audit filtre özelliğine değinmek istiyorum. Bunun için veritabanı sunucumuzda [test] veritabanımızdaki personel tablosuna erişen SA dışındaki tüm kullanıcıların SELECT hareketlerini dinleyip izlemek isteyelim. Tüm geliştirmelerimi 17 Kasımda 2011’de yayınlanan
SQL Server 2012 RC0
sürümü üzerinde yapacağım.
Önce audit oluşturmamız gerekir. Audit’i SSMS(SQL Server Management Studio) üzerinden grafik arayüz ile oluşturabildiğiniz gibi T-SQL kod ile de oluşturabilirsiniz.
1. Grafik Arayüz ile Filtreli Audit Oluşturma:
Security altındaki Audits üzerinde iken mouse’ın sağ tuşunu tıklıyoruz:
Create Audit form ekranından ilgili alanları aşağıdaki görüntüde olduğu gibi dolduruyoruz.
Aynı ekranın Filter tabından filtremizi gireceğiz. Bunun için önce SA kullanıcımızın server_principal_id değerini bulalalım:
select principal_id
from sys.server_principals
where name='sa'
Filter tabını server_principal_id 1 eşit olamaycak şekilde aşağıdaki gibi dolduruyoruz:
2. T-SQL kod ile filtreli Audit oluşturma:
USE [master]
GO
CREATE SERVER AUDIT [AuditTableSelect]
TO FILE
( FILEPATH = N'C:\Audit\'
,MAXSIZE = 0 MB
,MAX_ROLLOVER_FILES = 2147483647
,RESERVE_DISK_SPACE = OFF)
WITH( QUEUE_DELAY = 1000
,ON_FAILURE = CONTINUE)
WHERE (server_principal_id!=1)
GO
Yukarıdaki T-SQL kodu dilerseniz grafik arayüzden de oluşturabilirsiniz.
Oluşturduğumuz Audit’i aşağıdaki gibi GUI arayüz üzerinden Enable edebildiğimiz T-SQL ile de Enable edebiliriz.
USE [master]
GO
ALTER SERVER AUDIT [AuditTableSelect] WITH (STATE = ON)
GO
Şimdi sıra Audit edeceğimiz veritabanında Database Audit Specification oluşturmaya geldi. Database Audit Specification’ı da hem grafik arayüzden hem de T-SQL kod ile oluşturabiliriz.
Personel tablosundaki SELECT leri Audit edeceğiz.
Aynı Database Audit Specification’ı aşağıdaki T-SQL ile de oluşturabilirsiniz:
USE [test]
GO
CREATE DATABASE AUDIT SPECIFICATION [AuditSpecTableSelect]
FOR SERVER AUDIT [AuditTableSelect]
ADD (SELECT ON OBJECT::[dbo].[personel] BY [public])
WITH (STATE = ON)
GO
Audit’imizi oluşturdukdan sonra aşağıdaki T-SQL ile Personel tablosuna select atalım:
use test
go
select top 10 *
from dbo.personel
Personel tablosuna çekilen select işlemine View Audit Log’dan bakalım:
Audit Action ile yapılan işlemin bir SELECT işlemi olduğunu görüyoruz.
Audit logda bir çok bilgiyi bulabilirsiniz. Veritabanı, object, schema, dosya adını ve daha bir çok bilgiye logdan ulaşabilirsiniz. Çalıştırdığımız sorgunun kodunu Statement kolonunda bulabilirsiniz:
Bu yazımda SQL Server 2012 ile gelecek olan Audit’teki yeniliklere özellikle Audit’in filtre özelliğine değindim. Her ne kadar bu özellik çok güzel ve yerinde olsa da yeterli olduğunu düşünmüyorum. SQL Server 2012 RC0 sürümünde Audit ile ilgili çalışmalarımda filtrenin belirli alanları ve belirli operatorleri kapsadığını gördüm. Bu alanlar server_principal_id,object_name vb. gibi; operatorler ise =, <>, OR vb. gibi(WHERE koşulunda IN, LIKE gibi operatorlar kullanamıyoruz. Bunun yanında WHERE koşulunda alt sorgu yada function kullanamıyoruz.).
Mehmet GÜZEL
SQL Server DBA
www.mehmetguzel.net
audit
,
Codename Denali
,
DMV
,
security
,
SQL Server 2012
,
ssms
,
tr-TR
[Edit tags]
Leave a Comment
Please add 6 and 8 and type the answer here:
Post
Wiki - Revision Comment List(Revision Comment)
Sort by:
Published Date
|
Most Recent
|
Most Useful
Comments
Ed Price - MSFT
29 Nov 2011 6:52 AM
Ed Price - MSFT edited Revision 4. Comment: Added title code and tag for Turkish language (tr-TR)
Edit
Page 1 of 1 (1 items)
Wikis - Comment List
Sort by:
Published Date
|
Most Recent
|
Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
Posted by
Ed Price - MSFT
on
29 Nov 2011 6:52 AM
Ed Price - MSFT edited Revision 4. Comment: Added title code and tag for Turkish language (tr-TR)
Edit
Page 1 of 1 (1 items)