! Türkiye nin ilk SQL Platformu SQLTURKIYE.com çok yakında profesyonel ekibiyle bilgi paylaşımına başlayacaktır



Benzer belgeler
BACKUP BİLGİLERİ YUSUF.KAHVECİ. Yusuf KAHVECİ

LOG SHIPPING Yusuf KAHVECİ Senior Database

SQL SERVER DATABASE FILE LARINI VE TEMPDB FILE LARINI TAŞIMA OPERASYONU

"SQL Server Management Studio" yazılımını yüklemek için alttaki resmi sitesinden 180 günlük deneme sürümünü indirebilirsiniz.

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

vsphere Client(viClient) ile ESXI Kontrolü

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Veri Tabanı-I 5.Hafta

Security Configuration Wizard ile güvenliği artırmak

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

SQL ALWAYS ON SİSTEMİNE YENİ CLUSTER NODE EKLENMESİ

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU

VERİTABANI Veritabanı Yönetimi

VERİ ANALİZ KÜPLERİ. Küp Tasarım Formu (504200)

Toplu Kayıt Kullanıcı Kitapçığı

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

Gezici Profil Oluşturma. Mehmet Akif Ersoy Üniversitesi Gölhisar Meslek Yüksekokulu. Ders Adı: Sunucu İşletim Sistemi. Osman AŞIK

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ-II

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

IIS 7.5 ÜZERİNDE FTP SİTE KURULUMU VE YAPILANDIRILMASI


SQL SERVER VERİTABANINI EKLEME-ÇIKARMA ve YEDEKLEME-GERİ YÜKLEME

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

MOBİL UYGULAMA GELİŞTİRME

Disk tabanlı bir çözümdür ve bu yapısından dolayı kullanılması kolaydır. Ayrıca hızlı bir şekilde yedekleme ve geri dönüş sağlar.

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Vega Web Sipariş Kurulum

Android Ders Notları

SHOP INGENICO DOKUMANI

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

SQL Uyarı Programı Kurulum ve Kullanımı

IceWarp kurulumu. IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır:

Uygulama web, ios ve Android platformlarında sorunsuz bir şekilde çalışmaktadır.

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Exchange Server 2010 Sertifika Oluşturma

TÜSE BİLGİ BANKASI KULLANIM KILAVUZU. Hazırlayan: Derya Kaya Kurumsal İletişim Asistanı Türkiye Üçüncü Sektör Vakfı (TÜSEV) Mart 2009, İstanbul

SQL SERVER 2005 ENTEGRE SQL (VTY) VERİ TABANI YÖNETİM KURULUMU RESİMLİ ANLATIMI. Entegre SQL kurmadan önce SQLSERVER 2005,i kuralım öncelikle.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Veri Tabanı Hafta Dersi

Active Directory Forest Discovery :

Module 8 Implementing Group Policy ( Group Policy Uygulamaları )

Virtualization. VMware vcenter Server Yapılandırılması

BEUN VPN Hizmeti. VPN Nedir?

BAY.t Entegre. Aşağıdaki script fiyat gör programının ayarlar sayfasındaki sorgu cümlesi alanına yapıştırılıp Sorguyu Db ye Yükle tıklanır

OYAK YATIRIM FX Meta İşlem Platformu Kullanma Kılavuzu

SQL Server 2008 kurulum için Microsoft Windows Installer 4.5 ve üzeri bileşenin bilgisayarınızda kurulu olması gerekir. İndirmek için tıklayın

Microsoft Outlook 2003 Kurulumu

VERİ TABANI ve YÖNETİMİ

CRYSTAL REPORT EĞĠTĠM DÖKÜMANLARI

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

YAPISAL SORGULAMA DİLİ (SQL)

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BİLİŞİM TEKNOLOJİLERİ

Microsoft PowerPoint

A1FX MT4 İşlem Platformu Kullanma Kılavuzu

Oracle da kullanılan veri tipleri:

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

VERİ TABANI YÖNETİM SİSTEMLERİ I

BLGM 354 DENEY 1 * GİRİŞ

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

P-TECH RF MODEM MODBUS SERİ HABERLEŞME KILAVUZU

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Acronis True Image Echo ile Sanallastırma

Module 2 Managing User And Computer accounts

Microsoft SQL Server 2005 Express Edition Hızlı Kurulum Dokümanı. 1. Administrator veya denki bir kullanıcı ile logon olunmalıdır.

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Eki Çarş. Perş. Öğr. Gör. Murat KEÇECĠOĞLU


Module 9 Managing The User Environment By Using Group Policy ( Group Policy Kullanıcı Yönetimi )

SQL TRIGGERS (Tetikleyiciler)

ACS790 Programından OZW672 Web Server a tesis diyagramının aktarılması

Yerel Ağlarda Port 139 ve Saldırı Yöntemi

Zoru Kolay Yapmak İçin...

SQL Komutları (2) Uzm. Murat YAZICI

Kullanım Kılavuzu

Outlook Web Access'a Güvensiz Girmeyin

Veri Tabanı Hafta Dersi

«BM364» Veritabanı Uygulamaları

Veritabanı Yönetim Sistemleri I HAFTA 1

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Exchange Server Kurtarma (PowerControls)

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

Transkript:

! Türkiye nin ilk SQL Platformu SQLTURKIYE.com çok yakında profesyonel ekibiyle bilgi paylaşımına başlayacaktır

Merhaba Sevgili Arkadaşlar, YUSUF KAHVECİ KİMDİR? Kendimden fazla söz etmeyi sevmediğim için kısa tutacağım. 1987 yılında İstanbul doğumluyum.doğduğum yer İstanbul fakat memleketim Rize dir.bilgisayar Mühendisliği ve İktisat mezunuyum. İş hayatına Eğitimci olarak başladım ve senelerdir DBA olarak devam etmekteyim.uzmanlık alanlarım Oracle ve MS SQL Server dır.bir çok firmada Oracle ve SQL Server Veritabanı Yöneticiliği yaptım. Şu anda özel bir firmada SQL SERVER Database Administrator olarak görevime devam etmekteyim. Bana ulaşabileceğiniz bilgiler Hand Book içerisinde mevcuttur. Saygılarımla 1

İÇİNDEKİLER Audit Nedir? SSMS üzerinde Nasıl Oluşturulur? Audit İzleme T-SQL ile Audit Oluşturma Benzer Auditing Edilecek Olaylar 2

AUDIT NEDİR? Bu sorumuzun cevabına geçmeden önce DBA ler için can yeleği diyebiliriz. Bunu konumuz ilerledikçe daha iyi anlayacağız. Auditing SQL Server 2008 ile hayatımıza giren güçlü özelliklerden biridir. Bu özellik ; sunucu ve veritabanı seviyesinde yapılan her türlü işlemin logunun tutulup raporlanabilmesini sağlar. Bundan önce ise ; SQL Server 2005 te SQL Trace gerçekleşebiliyordu o da tam anlamıyla değildi. Bu tür işlemleri yani Audit özelliği gelene kadar ki işlemleri üçüncü parti yazılımlarla gerçekleştirebiliyorduk. Kısaca; tablolarıma kimler erişmiş, kimler yeni bir kullanıcı açmış,kayıt kim silmiş, kim eklemiş, kim güncellemiş vb. gibi denetlemeleri görme ve inceleme imkanı sunmaktadır. Resim 1 Yukarıdaki Resim 1 de görüldüğü üzere Server ve Database bazlı Auditing işlemlerimizi step step anlayabiliriz. Auditing bir nevi denetim mekanizmamızdır. İlk cümlemde de belirttiğim gibi bir DBA in can damarlarından bir tanesidir. Resim 1 de görüldüğü üzere ; Server Audit Specifications : Sunucu düzeyinde belirlenecek denetim kurallarıdır. Database Audit Specifications : Veritabanı düzeyinde belirlenecek denetim kurallarıdır. 3

Resim 2 Audit oluşturmamızı ve izlememizin adımlarının detaylarını Resim 2 de daha net görebilirsiniz.audit ister SSMS üzerinden ister T-SQL ile oluşturulabilir ve takibi gerçekleşebilir.adım adım bunları aşağıda sizlerle paylaşacağım. 4

SSMS Üzerinden Adım Adım AUDIT Oluşturma Yukarı da da bahsettiğim üzere ilk önce sizlerle adım adım SQL Server Managament Studio üzerinden AUDIT nasıl oluşturulur onu göreceğiz. İlk önce Bir Test Database i ve Tablolarımızı oluşturacağız.bunun için aşağıda hazırladığım scriptleri çalıştımanız yeterli olacaktır. --Test Database imizi oluşturuyoruz... CREATE DATABASE SQLTURKIYE_ --Test tablolarımızı oluşturuyoruz... USE SQLTURKIYE_ CREATE TABLE SQLTURKIYE_TEST1 ( Id INT IDENTITY(1,1), Name VARCHAR(50), Surname VARCHAR(60), Identity_Number CHAR(11) ) CREATE TABLE SQLTURKIYE_TEST2 ( Id Adress ) Phone CHAR(10), E_Mail VARCHAR(50), JOB VARCHAR(50), Identity_Number CHAR(11) INT IDENTITY(1,1), VARCHAR(50), Yukarıda ki scriptimizi çalıştırdıktan sonra artık elimizde SQLTURKIYE_ adında bir Database imiz ve içerisinde de SQLTURKIYE_TEST1 ve SQLTURKIYE_TEST2 adında tablolarımız mevcut. Şimdi SSMS üzerinden Audit oluşturmaya başlayabiliriz. Aşağıda ki Step 1 de görüldüğü üzere Security sekmesinin altında Audit tabına sağ tıklayıp New Audit sekmesine tıklıyoruz. 5

Step 1 : New Audit Yukarıdaki işlemleri yaptıktan sonra karşımıza STEP 2 gelmektedir.burada ise ; Audit_Name : Auditimize vereceğimiz isim alanıdır.görüldüğü üzere ben SQLTR_TEST1_AU adını vermiş bulunmaktayım. Queue Delay :.Denetim verilerinin hangi aralıklarla yazılmasını gerektiğini buradan ayarlayabiliriz. Ben 1000 değerini verdim. Milisaniye bazında olduğu için her 1 saniye de bir verileri toplayıp yazma işlemini gerçekleştirir. Eğer bu değeri 0 olarak atasaydım, denetim sırasında toplanan veriler eş zamanlı olarak Ewent Log lara ve dosyaya yazma işlemini gerçekleştirilmiş olacaktı. Audit Destination : Denetimde gidilecek yeri buradan belirtiyoruz. Ben File a gidilmesini istedim gördüğünüz üzere.bunun dışında Security Log ve Application Log seçenekleride mevcuttur. File Path : Audit imizin hangi File da ve nerede tutulacağını buradan belirtiyoruz.ben bir folder oluşturdum sırf Auditleri oluşturmak için ve o folder ı gösterdim.yani dosya yolu bilgisini verdim. Maxiumum File Size : Denetim dosyasının ulaşabileceği en büyük dosya boyutudur. 6

STEP 2 : Creared Audit STEP 2.1 de görüldüğü üzere ben Maximum File Size değerimi 500 MB olarak atadım. 7

STEP 2.1 : Create Audit Maximum File Size Aynı zamanda File path bilgimi ise F:\SQLTRAU olarak atadım. 8

STEP 2.2 : Create Audit File Path Yukarıda ki Step leri kendinize göre ayarladıktan sonra OK butonuna basıp Audit inizi oluşturuyorsunuz. Aşağıda ki ekranda da görüldüğü üzere Audit imiz oluşturuldu fakat Stop durumda. 9

STEP 3 Aktif hale getirmemiz için Audit imiz üzerine faremizle gelip sağ tıklayıp Enable Audit sekmesine tıklıyoruz aşağıda ki ekranda ki gibi. 10

STEP 4 : Enable Audit Bu işlemleri yaptığımızda STEP 5 te ki gibi Audit imiz Enable olmuş oluyor.görüldüğü üzere Stop durumdayken ki kırmızı ok işareti kalkmış durumda. 11

STEP 5 Şimdiye kadar Server ımız üzerinde Audit imizi oluşturmuş olduk. Ama bizim yapmak istediğimiz olay bu kadar değil.bizim amacımız oluşturduğumuz SQLTURKIYE_ database i içinde ki SQLTRUKIYE_TEST1 tablosu üzerinde kim UPDATE kim INSERT işlemi yapıyorsa bunların takibinin yapılmasını istiyorum. Bu tarz işlemler için Database bazlı Audit oluşturmamız gerekiyor. Bu yüzden oluşturduğumuz Database imizin altında yer alan Security sekmesi tabı altında bulunan Database Audit Specifications oluşturmamız gerekmektedir. STEP 6 da bunu görmüş bulunmaktayız. 12

STEP 6 : Database Audit Specifications Database Audit Specifications tabının üzerinde geldikten sonra faremizle sağ tıklayıp New Database Audit Specifications diyoruz STEP 7 de ki gibi. 13

STEP 7 : New Database Audit Specifications Daha sonra aşağıda ki pencere ile karşılaşıyoruz.name kısmına Database Audit Specifications ımızın Name bilgisini giriyoruz. 14

STEP 8 : Database Audit Specifications Name Hangi Server Audit i üzerinden oluşacağını Audit sekmesinden seçiyoruz. Gördüğünüz üzere Audit sekmesine tıkladığımızda önce den oluşturduğumuz Audit imizi görüyoruz ve seçiyoruz. STEP 9 : Database Audit Specifications - Audit 15

Yukarıda ki işlemlerden sonra Audit imize özellikler atamaya geldi sıra. Audit Action Type bölümünde ne tür denetim yapacağını belirtiyoruz. Biz tablomuz üzerinde ki UPDATE işlemlerini takip etmek istediğimiz için Action Type dan UPDATE seçeneğini seçiyoruz. Object Class kısmında üç farklı seçeneğimiz mevcut biz tablo bazlı işlem yapacağımız için OBJECT seçeneğini seçiyoruz.diğer iki seçenek DATABASE ve SCHEMA dır. STEP 10 : Database Audit Specifications Action Types Aşağıda ki ekran da da Object Class ımızı nasıl seçtiğimiz gösterilmektedir. 16

STEP 11 : Database Audit Specifications Object Class Object Schema ve Object Name kısmında ise yanındaki... noktalı butona basıldığında aşağıdaki pencere üzerinde 2 nolu sekme ile karşılaşılıyor ve oradan Browse butonuna tıklıyoruz ve 3 nolu sekme karşımıza çıkmaktadır.buradan ise takip edeceğimiz tablomuzu seçip OK butonuna basıyoruz. 17

STEP 12 : Database Audit Specifications Object Schema / Object Name Principal Name kısmında ise hangi kullanıcıları vb. öğeleri denetleyecekseniz seçiyorsunuz.biz tablo üzerinde genel bir denetleme yapacağımız için public rolünü seçmeliyiz.bu işlemi de ; aşağıda ki ekranda ki 1 nolu butona bastıktan sonra ekrana gelen yeni pencerede Browse diyoruz ve tekrar bir pencere daha açılıyor.bu pencere de de public diyip OK butonuna basıyoruz. STEP 13 : Database Audit Specifications Principal Name 18

En son ana pencereden OK tuşuna bastıktan sonra Database Audit Specifications oluştuğunu aşağıda ki pencere görmekteyiz.fakat üzerinde kırmızı ok simgesi STOP halde olduğunu göstermektedir. Aktif hale getirmek için Audit de de yaptığımız gibi, üzerine gelip sağ tıklayıp Enable Database Audit Specifications diyoruz. STEP 14 : Enable Database Audit Specifications Bu işlemi gerçekleştirdikten sonr aşağıda ki hali almaktadır Database Audit Specifications ımız. STEP 15 Daha sonra Tablomuza aşağıda ki scripti çalıştırarak veri basıyoruz. --Test Tablosuna Veri basıyoruz. insert INTO SQLTURKIYE_TEST1 VALUES ('Özgür','Özeren','11111111111'), ('Önder','Özeren','22222222222'), ('Yusuf','Kahveci','33333333333') 19

STEP 16 : INSERT Yukarıda ki ekranda da gördüğünüz üzere verilerimizi tablomuza bastık ve SELECT işlemini uyguladıktan sonra verilerimizin sağlıklı bir şekilde tablomuza eklendiğini gördük. Bu dakikadan sonra esas amacımızı gerçekleştirmemiz lazım.bir Audit oluşturduk ve bu Audit üzerinden bir Database Audit Specifications oluşturduk SQLTURKIYE Database inde.görevinide SQLTURKIYE_TEST1 tablosunda UPDATE işlemi gerçekleştiğinde ki denetimi.yani UPDATE işlemi ne zaman, kim tarafından hangi kolonlarda ve hangi script le gerçekleştiği bilgilerine ulaşmak. Bunun üzerine aşağıda ki UPDATE scriptini çalıştırıyoruz. UPDATE SQLTURKIYE_TEST1 SET Surname='YSFKHVC' Where Id=1 Scriptin sonucun test etmek için aşağıda ki tablomuza SELECT çekiyoruz. 20

STEP 17 : SELECT Select işlemi sonucu yukarıda ki ekranda da görüldüğü üzere geldi ve UPDATE işlemimiz sağlıklı bir şekilde gerçekleşmiş. Peki bunu oluşturduğumuz Audit ten nasıl görebiliriz.sqltr_test Auditimizin üzerine gelip sağ tıkladıktan sonra açılan pencerede Wiev Audit Logs sekmesine tıklıyoruz. 21

STEP 18 : View Audit Logs Daha sonra aşağıda ki pencere karşımıza gelmektedir.gördüğünüz gibi log un üzerine tıkladığımızda tüm detaylara erişebiliyoruz.kim?, Ne Zaman?, Hangi Scriptle? UPDATE işlemlerini gerçekleştirmiş bilgilerine kolayca ulaşabiliyoruz. 22

STEP 19 : View Audit Logs Details Eğer oluşturduğumuz Audit imizi Stop etmek istiyorsak; tekrar üzerine gelip sağ tuşa tıklayıp açılan sekmede aşağıda ki ekran görüntülerinde gözüktüğü gibi Disable Audit dememiz ve ondan sonra ekrana gelen küçük pencerede Close a basmamız yeterli olacaktır. 23

STEP 20 : Disable Audit STEP 21 24

STEP 22 Aynı işlemler Database Audit Specifications içinde geçerlidir.aşağıda görüldüğü üzere... STEP 23 : Disable Database Audit Specifications 25

STEP 24 STEP 25 Peki bu SSMS üzerinde yukarıda yaptığımız işlemlerit-sql ile nasıl yapabilir.aşağıda ki ana başlığımızda bunu detaylı bir şekilde sizlere aktarmış olacağım. 26

T-SQL ile AUDITING Ağaıdaki Script ile Audit imizi oluşturuyoruz. CREATE SERVER AUDIT [AuditDDL] TO FILE (FILEPATH = N'F:\SQLTRAU\',--Klasör yolu belirtildi MAXSIZE = 500 MB,--Maksimum dosya boyutu MAX_ROLLOVER_FILES = 5,--Kaç tane dosyanın kaydedileceği bilgisisdir. RESERVE_DISK_SPACE = OFF ) --Maxsize da belirttiğiniz ayarı baştan ayırmak için kullanılır.off ise ihtiyaca göre ayrılır. WITH (QUEUE_DELAY = 1000, -- Her bir saniye de bir kayıt depasouna yazılır ON_FAILURE = SHUTDOWN ) -- Eğer diskimizde yer kalmadıysa SQL Server Instance mız kapanacaktır. GO Oluşturduğumuz Audit bildiğiniz üzere Stop şeklinde oluşmaktaydı.aşağıda ki script ile Enable ediyoruz. --Audit ENABLE ALTER SERVER AUDIT AuditDDL WITH (STATE = ON) ; GO Bu aşamaları gerçekleştirdikten sonra DATABASE AUDIT SPECIFICATION ımızı oluşturuyoruz Database imizin üzerinde. Bunun için de ilk önce Databse imizie giriş yapıyoruz.daha sonra aşağıda ki scriptimizde de gördüğümüz üzere AuditDDLSQLTR adında oluşturacağımız DATABASE AUDIT SPECIFICATION ımıza denetim yetkileri atıyoruz.sqlturkiye_test1 tablosunda DELETE ve INSERT bilgilerini takip etmesini ve Log lamasını istiyorum. Bunun üzerine aşağıda ki scriptimizi çalıştırıyorum. --T-SQL Yöntemiyle Server Audit Specification Nesnesi Oluşturma --UPDATE,DELETe ve INSERT OZELLİİĞİ ATANIYOR USE [SQLTURKIYE_] GO CREATE DATABASE AUDIT SPECIFICATION [AuditDDLSQLTR] FOR SERVER AUDIT [AuditDDL] ADD (DELETE ON OBJECT::[dbo].[SQLTURKIYE_TEST1] BY [public]), ADD (INSERT ON OBJECT::[dbo].[SQLTURKIYE_TEST1] BY [public]) WITH (STATE = ON) -- Enable ediyor. GO Bu işlemleri gerçekleştirdikten sonra T-SQL ile oluşturduğumuz Audit imizin çalışıp çalışmadığını test etmek için SQLTURKIYE_TEST1 tablosu üzerinde INSERT ve DELETE işlemleri gerçekleştireceğiz. Bunun için aşağıdaki Scriptleri adım adım çalıştırıp sonuçlarını görelim. 27

--Tablo üzerinde silme işlemi gerçekleştiriliyor. DELETE FROM SQLTURKIYE_.dbo.SQLTURKIYE_TEST1 Bu işlem üzerine Audit Log larımızı inceleyeceğiz.ssms üzerinden Logların nasıl inceleneceğini yukarıdaki yazımda belirtmiştim.peki T-SQL ile Audit Loglarını nasıl görürüz şimdi onu göstereceğim. --AuditDDL Auditimizin Log Detayları Scripti SELECT event_time, action_id, succeeded, session_id, server_principal_name, server_instance_name, database_name, [statement], audit_file_offset FROM fn_get_audit_file('f:\sqltrau\auditddl*.sqlaudit', DEFAULT, DEFAULT) Bunun üzerine çıkan sonucu inceleyecek olursak ; Yukarıda ki ekranda da görüldüğü üzere ; ysfkhvc kullanıcısı Delete Scriptini çalıştırmış ve ewent_time kolonunda da hangi zaman diliminde çalıştırdığı görülmektedir. Şimdi bir de eklediğimiz diğer yetki olan INSERT işlemini gerçekleştirelim ve Log unu inceleyelim. insert INTO SQLTURKIYE_TEST1 VALUES ('Özgür','Özeren','11111111111'), ('Önder','Özeren','22222222222'), ('Yusuf','Kahveci','3333333333') Bu işlemden sonra yukarıda çalıştırdığımız Audit Log Scriptini tekrar çalıştırıyoruz ve aşağıda ki ekran ile karşılaşıyoruz. Yukarıda da görüldüğü üzere DELETE işlemini gösteren satırın altında INSER işleminin detayları yazıyor.bu şekilde T-SQL ile de Audit imizi oluşturmuş ve Loglarımıza ulaşıp incelemiş olduk. 28

Benzer Auditing Edilecek Olaylar Aşağıda da diğer Audit Edilecek olaylar hakkında kısa bilgiler mevcuttur. SERVER_ROLE_MEMBER_CHANGE_GROUP FAILED_LOGIN_GROUP DATABASE_OBJECT_CHANGE_GROUP LOGIN_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DBCC_GROUP SERVER_OPERATION_GROUP SERVER_STATE_CHANGE_GROUP SERVER_OBJECT_CHANGE_GROUP SERVER_PRINCIPAL_CHANGE_GROUP DATABASE_CHANGE_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP SCHEMA_OBJECT_CHANGE_GROUP SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP SERVER_PERMISSION_CHANGE_GROUP SERVER_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_PERMISSION_CHANGE_GROUP Database deki bir Role kullanıcı ekleyip çıkartıldığında. Başarısız bir login denemesi olduğunda. Database de herhangi obje değişikliği teşebbüsü olduğunda. Bir şifre değişikliği yapıldığında. Backup alındığında veya Restore işlemi yapıldığında. Çok kritik bazı komutların çalıştırılma denendiğinde. Audit edilen işlemlerde herhangi bir değişiklik yapıldığında. Sql sunucusunun durdurulduğunda veya yeniden başlatıldığında. Sunucu objelerinde herhangi bir değişiklik yapıldığında. Database de bir User Create,Update,DELETE edildiğinde. Database oluşturulduğunda, değiştirildiğinde veya silindiğinde. Databse objelerinde herhangi bir değişiklik yapıldığında. Herhangi bir Database bir User eklendiğinde veya çıkartıldığında. Şema nesnesi eklendiğinde, değiştirildiğinde veya çıkartıldığında. Sunucu nesnelerinin sahibi değiştirğinde. Database sahibi değiştirildiğinde. Herhangi bir Database bir nesnenin sahibi değiştiğinde. Şemaya ait nesnelere izin verildiğinde. Sunucu bazında grant, revoke ve deny işlemi için izin verildiğinde. Sunucu nesneleri için grant, revoke ve deny işlemleri yapıldığında. Database grant, revoke ve deny işlem uygulandığında. 29

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP TRACE_CHANGE_GROUP Database nesnelerine grant, revoke ve deny işlem uygulandığında. Şema nesnelerine grant, revoke ve deny işlem uygulandığında. Sunuda trace işlemelerin değişiklik yapıldığında. 30