Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'de sunucu denetimi ve sunucu denetimi belirtimlerinin nasıl oluşturulacağı açıklanmaktadır. SQL Server veya SQL Server veritabanının bir örneğini denetlemek, sistemde gerçekleşen olayları izlemeyi ve günlüğe kaydetmeyi içerir. SQL Server Audit nesnesi, sunucu veya veritabanı düzeyinde eylemlerin ve izlenecek eylem gruplarının tek bir örneğini toplar. Denetim SQL Server örnek düzeyindedir. SQL Server örneği başına birden çok denetime sahip olabilirsiniz. Sunucu Denetim Belirtimi nesnesi bir denetime aittir. Her ikisi de SQL Server örnek kapsamında oluşturulduğundan, denetim başına bir sunucu denetim belirtimi oluşturabilirsiniz. Daha fazla bilgi için bkz. SQL Server Denetimi (Veritabanı Altyapısı).
Sınırlamalar ve Kısıtlamalar
Buna yönelik bir sunucu denetim belirtimi oluşturmadan önce bir denetim var olmalıdır. Bir sunucu denetim belirtimi oluşturulduğunda, devre dışı durumdadır.
CREATE SERVER AUDIT ifadesi bir işlemin kapsamı içindedir. İşlem geri alınırsa ifade de geri alınır.
Permissions
Bir sunucu denetimi oluşturmak, değiştirmek veya kaldırmak için sorumluların ALTER ANY SERVER AUDIT ya da CONTROL SERVER iznine sahip olması gerekir.
ALTER ANY SERVER AUDIT iznine sahip kullanıcılar sunucu denetim belirtimleri oluşturabilir ve bunları herhangi bir denetime bağlayabilir.
Bir sunucu denetim belirtimi oluşturulduktan sonra, CONTROL SERVER veya ALTER ANY SERVER AUDIT izinlerine sahip sorumlular, sysadmin hesabı ya da denetime açıkça verilmiş erişime sahip sorumlular tarafından görüntülenebilir.
SQL Server Management Studio'yu kullanma
Sunucu denetimi oluşturmak için
Nesne Gezgini'da Güvenlik klasörünü genişletin.
Denetimler klasörüne sağ tıklayın ve Yeni Denetim... öğesini seçin.
Aşağıdaki seçenekler Denetim Oluştur iletişim kutusunun Genel sayfasında bulunur.
Denetim adı
Denetimin adı. Bu, yeni bir denetim oluşturduğunuzda otomatik olarak oluşturulur ancak düzenlenebilir.Kuyruk gecikmesi (milisaniye cinsinden)
Denetim eylemlerinin işlenmesine zorlanmadan önce geçen süreyi milisaniye cinsinden belirtir. 0 değeri zaman uyumlu teslimi gösterir. Varsayılan en düşük değer 1000 'dir (1 saniye). En fazla 2.147.483.647 (2.147.483.647 saniye veya 24 gün, 20 saat, 31 dakika, 23.647 saniye).Denetim Günlüğü Hatası Durumunda:
Devam etmek
SQL Server işlemleri devam ediyor. Denetim kayıtları korunmaz. Denetim, olayları günlüğe kaydetmeye çalışmayı sürdürür ve hata durumu giderilirse normal çalışmasına devam eder. Devam et seçeneğinin seçilmesi, güvenlik ilkelerinizi ihlal edebilecek, denetlemesiz etkinliğe izin verebilir. Database Engine işlemine devam edilmesi, tam bir denetimin sürdürülmesinden daha önemli olduğunda bu seçeneği belirleyin. Bu, varsayılan seçimdir.Sunucuyu kapatma
Hedefe yazan sunucu örneği denetim hedefine veri yazamazsa sunucunun kapanmasını zorunlu kılar. Bu işlemi gerçekleştiren oturumun SHUTDOWN iznine sahip olması gerekir. Oturum açma bu izne sahip değilse, bu işlev başarısız olur ve bir hata iletisi oluşturulur. Denetlenen olaylar meydana gelmez. Bir denetim hatası sistemin güvenliğini veya bütünlüğünü tehlikeye atabilirse bu seçeneği belirleyin.Başarısız işlem
SQL Server Denetimi'nin denetim günlüğüne yazamadığı durumlarda bu seçenek, denetlenen olaylara neden olacak veritabanı eylemlerinin başarısız olmasına neden olur. Denetlenen olaylar meydana gelmez. Denetlenen olaylara neden olmayan eylemler devam edebilir. Denetim, olayları günlüğe kaydetmeye çalışmayı sürdürür ve hata durumu giderilirse normal çalışmasına devam eder. Tam denetim sağlamak Database Engine tam erişimden daha önemli olduğunda bu seçeneği belirleyin.Important
Denetim başarısız durumdayken, Ayrılmış Yönetici Bağlantısı denetlenen olayları gerçekleştirmeye devam edebilir.
Denetim hedefi listesi
Denetim verilerinin hedefini belirtir. Kullanılabilir seçenekler şunlardır: bir binary dosya, Windows Uygulama günlüğü veya Windows Güvenlik günlüğü. SQL Server, Windows'ta ek ayarlar yapılandırılmadan Windows Güvenlik günlüğüne yazamaz. Daha fazla bilgi için bkz. SQL Server Denetim Olaylarını Güvenlik Günlüğüne Yazma.Dosya yolu
Denetim hedefi bir dosya olduğunda denetim verilerinin yazıldığı klasörün konumunu belirtir.Üç nokta (...)
Bir dosya yolu belirtmek veya denetim dosyasının yazıldığı bir klasör oluşturmak için Klasörü Bul -server_name iletişim kutusunu açar.Denetim Dosyası Üst Sınırı:
En fazla devretme dosyası
Maksimum denetim dosyası sayısına ulaşıldığında, en eski denetim dosyalarının yeni dosya içeriğiyle üzerine yazılacağını belirtir.En fazla dosya sayısı
En fazla denetim dosyası sayısına ulaşıldığında ek denetim olaylarının oluşturulmasına neden olan tüm eylemlerin hatayla başarısız olacağını belirtir.Sınırsız onay kutusu
En fazla rollover dosyaları altında Sınırsız onay kutusu seçildiğinde, oluşturulacak denetim dosyalarının sayısına herhangi bir sınır uygulanmaz. Sınırsız onay kutusu varsayılan olarak seçilidir ve hem En fazla geçiş dosyaları hem de En fazla dosya seçimleri için geçerlidir.Dosya sayısı kutusu
2.147.483.647'ye kadar oluşturulacak denetim dosyası sayısını belirtir. Bu seçenek yalnızca Sınırsız işaretinin kaldırılmış olması durumunda kullanılabilir.En büyük dosya boyutu
Bir denetim dosyasının en büyük boyutunu megabayt (MB), gigabayt (GB) veya terabayt (TB) cinsinden belirtir. 2.147.483.647 TB'a kadar bir sayı belirtebilirsiniz. Sınırsız onay kutusu seçildiğinde dosyanın boyutuna bir sınır uygulanmaz. Sınırsız onay kutusu varsayılan olarak seçilidir.Disk alanı ayır onay kutusu
Diskte belirtilen en büyük dosya boyutuna eşit alanın önceden ayrıldığını belirtir. Bu ayar yalnızca En büyük dosya boyutu altındaki Sınırsız onay kutusu seçili değilse kullanılabilir. Bu onay kutusu varsayılan olarak seçili değildir.İsteğe bağlı olarak, Genel sayfasında kullanılamayan ek seçenekleri belirtmek için
WHEREsayfasında sunucu denetimine bir koşul veya yan tümce girin. Koşulu parantez içine alın; örneğin:(object_name = 'EmployeesTable').Seçenekleri seçmeyi tamamladığınızda Tamam'ı tıklatın.
Sunucu denetim belirtimi oluşturmak için
Nesne Gezgini'da artı işaretine tıklayarak Güvenlik klasörünü genişletin.
Sunucu Denetim Belirtimleri klasörüne sağ tıklayın ve Yeni Sunucu Denetim Belirtimi... öğesini seçin.
Sunucu Denetim Belirtimi Oluştur iletişim kutusunda aşağıdaki seçenekler kullanılabilir.
Name
Sunucu denetim belirtiminin adı. Bu, yeni bir sunucu denetim belirtimi oluşturduğunuzda otomatik olarak oluşturulur ancak düzenlenebilir.Denetim
Mevcut sunucu denetiminin adı. Denetimin adını yazın veya listeden seçin.Denetim Eylem Türü
Yakalanacak sunucu düzeyinde denetim eylem gruplarını ve denetim eylemlerini belirtir. Sunucu düzeyinde denetim eylem gruplarının ve denetim eylemlerinin listesi ve içerdikleri olayların açıklaması için bkz. SQL Server Denetim Eylem Grupları ve Eylemleri.Nesne Şeması
Belirtilen Nesne Adı için şemayı görüntüler.Nesne Adı
Denetlenecek nesnenin adı. Bu yalnızca denetim eylemleri için kullanılabilir; denetim grupları için geçerli değildir.Üç nokta (...)
Belirtilen Denetim Eylemi Türüne göre kullanılabilir bir nesneye göz atmak ve nesneyi seçmek için Nesneleri Seç iletişim kutusunu açar.Asıl Ad
Denetlenen nesne için denetimin filtreleneceği hesap.Üç nokta (...)
Belirtilen Nesne Adına göre kullanılabilir bir nesneye göz atmak ve nesneyi seçmek için Nesneleri Seç iletişim kutusunu açar.Bitirdiğinizde Tamam'a tıklayın.
Transact-SQL Kullanımı
Sunucu denetimi oluşturmak için
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart çubuğunda Yeni Sorgubutonuna tıklayın.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.
-- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options. CREATE SERVER AUDIT HIPAA_Audit TO FILE ( FILEPATH ='E:\SQLAudit\' );
Note
Denetim dosyası Hedefi olarak bir UNC yolu kullansanız bile dikkatli olun. Söz konusu dosya paylaşımında ağ gecikmesi varsa, iş parçacıkları devam etmeden önce bir denetim kaydı yazma işleminin tamamlanmasını bekleyeceğinden SQL Server’da performans düşüşü yaşayabilirsiniz. SQL Server hata günlüğünde 17894 gibi çeşitli hata iletileri gözlemleyebilirsiniz:
2020-02-07 12:21:35.100 'XE Altyapısı ana dağıtıcı havuzu' dağıtıcı havuzundan Sunucu Dağıtıcısı (0x7954) Çalışan 0x00000058E7300000 Düğüm 0'da verimsiz görünüyor.
Sunucu denetim belirtimi oluşturmak için
Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.
Standart çubuğunda Yeni Sorgubutonuna tıklayın.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.
/*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above. */ CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification FOR SERVER AUDIT HIPAA_Audit ADD (FAILED_LOGIN_GROUP); GO -- Enables the audit. ALTER SERVER AUDIT HIPAA_Audit WITH (STATE = ON); GO
Daha fazla bilgi için bkz CREATE SERVER AUDIT . (Transact-SQL) ve CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).