Aracılığıyla paylaş


SQL Server denetim anlama

Denetleme örnekSQL Server veya SQL Server Veritabanı, izleme ve sistem üzerinde gerçekleşen olayları günlüğe kaydetmeyi içerir. Için denetim için birkaç yöntem kullanabilirsiniz. SQL Server, açıklandığı gibi Denetim (veritabanı altyapısı). Içinde başlangıç SQL Server 2008 Enterprise, kullanarak otomatik denetim ayarlarını da ayarlayabilirsiniz SQL Server Denetle.

Için denetleme birkaç düzeyde vardır. SQL Server, devlet ya da standartları gereksinimleri yüklemenizin bağlı. SQL Server Denetim, etkinleştirme, depolamak ve denetimleri, çeşitli sunucu ve veritabanı nesneleri görüntülemek için gerekli işlemleri ve araçları sağlar.

Sunucu denetim Eylem grupları her örnek, veritabanı denetim Eylem grupları (ingilizce) veya veritabanı başına veritabanı denetim eylemleri de kaydedebilir.Denetim olayı denetlenebilir işlem karşılaşılan her saat ortaya çıkar.

SQL Server denetimi bileşenleri

Bir Denetle çeşitli öğeleri belirli bir grup sunucu eylemleri veya veritabanı işlemleri için tek bir pakete birleşimidir.Bileşenleri SQL Server Denetim hazırlık gibi grafik ve veri öğelerini birleştirilmiş bir rapor tanımı'yalnızca bir rapor üretir, Denetim adlı bir çıktı üretir.

SQL Server Denetim kullanır. Genişletilmiş olayları bir denetim oluşturmak amacıyla.Genişletilmiş olayları hakkında daha fazla bilgi için bkz: SQL Server'ı Tanıtma olaylar genişletilmiş..

SQL Server denetimi

The SQL Server Audit object collects a single örnek of server or database-düzey actions and groups of actions to monitor.En denetim ise SQL Server Örnek düzey. Birden çok denetimleri başına olabilir SQL Server Örnek.

Bir denetim tanımladığınızda, sonuçlar için çıktı konumunu belirtin.Denetim hedef budur.Denetim içinde oluşturulmuş bir Devre Dışı durumunu ve tüm eylemler otomatik olarak denetleme.Denetim hedef denetim etkinleştirildikten sonra denetim verileri alır.

Sunucu denetim belirtimi

The Server Audit Specification object belongs to an audit.Her ikisi de oluşturulur, çünkü her denetim, bir sunucunun Denetim belirtimi oluşturabileceğiniz SQL Server Örnek kapsam.

Sunucu denetim belirtimine genişletilmiş olay özelliği tarafından oluşturuldu, birçok sunucu düzeyinde Eylem grupları toplar.Ekleyebilirsiniz Eylem grupları denetleme bir sunucu Denetim belirtimi.Eylem grupları denetim içinde gerçekleşen atomik olayların eylemleri, önceden tanımlanmış gruplarıdır Database Engine. Bu eylemler, bunları hedef kayıt denetim için gönderilir.

Sunucu-CVE-2006-düzey denetim Eylem grupları konu içinde açıklanmıştır SQL Server denetim eylem gruplarını ve Eylemler.

Veritabanı denetleme belirtimi

The Database Audit Specification object also belongs to a SQL Server audit.Her bir veritabanı denetim belirtimini oluşturabilirsiniz SQL Server veritabanı başına denetim.

Veritabanı-CVE-2006-veritabanı denetim belirtimi topladığı düzey genişletilmiş olay özelliği tarafından geçirilen eylemleri denetleme.Ya da Denetim Eylem grupları eklemek veya bir veritabanı Denetim belirtime olaylarını denetleyin. Denetim olayları olan denetlenebilecek tarafından atomik eylemleriSQL Server alt yapısı. Eylem grupları denetleme eylemlerin önceden tanımlı gruplar şunlardır.Her ikisi de altındadır SQL Server Veritabanı kapsam. Bu eylemler, bunları hedef kayıt denetim için gönderilir.Sistem görünümleri gibi sunucu kapsamlı nesneler, kullanıcı veritabanı denetim belirtiminde eklemeyin.

Veritabanı düzeyinde denetim Eylem grupları (ingilizce) ve Denetim eylemleri, konu içinde açıklanmıştır SQL Server denetim eylem gruplarını ve Eylemler.

Hedef

sonuçlar bir denetim, bir dosya, Windows güvenlik olay günlüğüne ya da Windows uygulama olay günlüğüne bir hedefe gönderilir.(Güvenlik günlüğüne yazma, Windows XP'de kullanılamaz.) Günlükleri gözden geçirilmiş olmalı ve hedef ek kayıtlar yazmak için yeterli alan olduğundan emin olmak için düzenli olarak arşivlenir.

Important noteImportant Note:

Kimliği doğrulanmış bir kullanıcı okuyun ve Windows uygulama olay günlüğüne yaz.Uygulama olay günlüğüne, Windows güvenlik olay günlüğüne alt izinlerinden gerektirir ve Windows Güvenlik Olay Günlüğü ' daha az güvenlidir.

Günlük için Windows güvenlik yazma'yı gerektiriyor SQL Server hizmet hesabına eklenecek Güvenlik denetimleri oluşturma ilke.Bu ilke, varsayılan, Local System, Local hizmet ve Network hizmet tarafından parçasıdır.Bu ayar güvenlik ilkesi ek bileşenini (secpol.msc) kullanılarak da yapılandırılabilir.Ayrıca, Nesne erişimini denetle Her iki için güvenlik ilkesi etkinleştirilmiş olması gerekirBaşarılı and Hata.Bu ayar güvenlik ilkesi ek bileşenini (secpol.msc) kullanılarak da yapılandırılabilir.In Windows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe).For more information about the steps to enable writing to the Windows Security log, see Nasıl Yapılır: Sunucu denetim olayları güvenlik günlüğüne yazma.Auditpol.exe programı hakkında daha fazla bilgi için 921469, Knowledge Base makalesine bakın. Ayrıntılı güvenlik denetimini yapılandırmak için Grup ilkesi'ni kullanma hakkında.Windows Olay günlüklerini Windows işletim sistemi için geneldir.Windows olay günlükleri hakkında daha fazla bilgi için bkz: Olay Görüntüleyicisi genel bakış.Daha kesin bir denetim izinlerini gereksinim duyarsanız, ikili dosya hedef kullanın.

Denetim bilgilerini bir dosyaya kaydedilirken, izinsiz engellenmesine yardımcı olmak için erişim için dosya konumunu aşağıdaki yollarla sınırlayabilirsiniz:

  • The SQL Server hizmet Account must have both Read and Write permission.

  • Denetim Yöneticiler genellikle, okuma ve yazma izniniz gerektirir.Bu, yöneticiler Denetim denetim dosyalarının yönetimini Windows hesaplarını gibi olduğunuz varsayılmaktadır: bunları, farklı paylaşımlara, bunları yedekleme kadar vb. kopyalanıyor.

  • Denetim dosyalarını okumak için yetkili bir denetim okuyucular okuma izni gerekir.

Hatta,Database Engine bir dosyaya, diğer Windows kullanıcıları iznine sahip oldukları için Denetim dosyası okuyabilir yazılıyor. The Database Engine does not take an exclusive kilit that prevents read operations.

Çünkü Database Engine dosyayı erişebilirsiniz SQL Server CONTROL SERVER iznine sahip tüm oturumların kullanabilmek için Database Engine Denetim dosyalara erişmek için . Denetim dosyası okunuyor herhangi bir kullanıcı olarak kaydetmek için , master.sys.fn_get_audit_file üzerinde denetim tanımlayın.Bu denetim dosyası ile eriştiğiniz CONTROL SERVER izniyle oturumu kaydeder SQL Server.

Dosya denetim yönetici (için arşiv amacıyla vb.) farklı bir konuma kopyalar, yeni konuma ACL'lerin aşağıdaki izinleri azaltılması gereken:

  • Yönetici – denetim oku / yaz

  • Okuyucu – denetim oku

Denetim raporları ayrı bir örneğinden oluştur önerilir SQL Server, örnek gibi SQL Server Express, hangi yalnızca Denetim Administrators veya Denetim okuyucular erişebilirsiniz. Ayrı bir kullanarak örnek, Database Engine raporlama için yetkisiz kullanıcıların Denetim kaydı erişim sağlamasını engelleyebilirsiniz.

Windows BitLocker Sürücü Şifreleme'yi veya Windows dosya sistemini şifreleme'yi kullanarak, Denetim dosyasının depolandığı klasöre şifreleyerek, yetkisiz erişime karşı ek koruma sunabilirsiniz.

Hedefe yazılan denetim kayıtları hakkında daha fazla bilgi için bkz: SQL Server denetim kayıtları.

SQL Server denetimi'ni kullanarak genel bakış

Kullanabileceğiniz SQL Server Management Studio veya Transact-SQL bir denetim tanımlamak için . Hedef, girişlerini denetim oluşturulan ve etkinleştirilen sonra alırsınız.

Windows Olay günlüklerini kullanarak okuması Olay Görüntüleyicisi yardımcı programı Windows.Hedef dosya için kullanabilirsiniz Günlük dosyası Görüntüleyici in SQL Server Management Studio veya fn_get_audit_file işlev hedef dosyası okunamıyor.

Oluşturma ve denetim için genel bir işlem aşağıdaki gibidir.

  1. Bir denetim oluşturun ve hedef tanımlayın.

  2. Sunucu denetim belirtimi veya denetim için eşleyen denetim belirtimi veritabanı oluşturun.Denetim belirtimi etkinleştirin.

  3. Denetim sağlar.

  4. Denetim olayları pencerelerini kullanarak okunamıyor. Olay Görüntüleyicisi, Günlük dosyası Viewe-r veya fn_get_audit_file işlev.

The SQL Server denetim nasıl yapılır konuları topic provides SQL Server Management Studio and Transact-SQL examples for using the auditing feature.

Dikkate Alınacak Noktalar

Içinde durum denetim başlangıç sırasında bir hata, sunucu başlatılmaz.Bu durumda, sunucu kullanarak başlatılabilen –f Komut satırında seçeneği.

Ne zaman bir denetim hatası sunucu olduğundan başlatılamadı veya kapanmasına neden olur ON_FAILURE = için Denetim SHUTDOWN belirtilen MSG_AUDIT_FORCED_SHUTDOWN olay günlüğe yazılır.Kapatma "Bu ayarın ilk encounter oluşur çünkü bu olay saat yazılır.Bu olay, sonra bir kapatma için neden bir denetim için hata iletisi yazılır.Bir yönetici, Denetim indirgenen kapatmalar başlatarak atlayabilir SQL Server Tek kullanıcı modu kullanarak –m bayrağı.Tek kullanıcı modunda yeniden başlatırsanız, herhangi bir denetim indirgemesine; burada ON_FAILURE = SHUTDOWN oturuma ON_FAILURE olarak çalıştırmak için belirtilen CONTINUE =.Ne zaman SQL Server kullanarak başlatıldı –m bayrağı, MSG_AUDIT_SHUTDOWN_BYPASSED iletinin hata günlüğe yazılır.

Hizmet başlatma seçenekleri hakkında daha fazla bilgi için bkz: SQL Server hizmet başlangıç seçeneklerini kullanma.

Bir veritabanı ile tanımlanmış bir denetim ekleme

Sunucuda varolan bir GUID neden olacak belirtir ve bir denetim belirtimi bir veritabanını iliştirmek bir sahipsiz kaldı denetim belirtimi.Sunucuda eşleşen GUID ile bir denetim bulunmadığından örnek, hiçbir denetim olayı olarak kaydedilir.Bu durumu düzeltmek için , varolan bir sunucu denetim için artık denetim belirtimi bağlanmak için ALTER DATABASE BELIRTIM AUDIT komutunu kullanın.Veya, CREATE için SUNUCU DENETLEME komutu, belirtilen GUID ile yeni bir sunucu denetim oluşturmak için kullanın.

Başka bir sürümüne tanımlanmış bir denetim belirtimi olan bir veritabanında ekleyebilir. SQL Server desteklemiyor SQL Server Örneğin, denetleme SQL Server Express Ancak, denetim olayları kaydedilmeyecek.

veritabanı yansıtması ve SQL Server denetimi

Tanımlanan bir veritabanı denetim belirtimi olan BIR veritabanı ve veritabanı kullanan veritabanı yansıtması içereceğini belirtimini denetleyin.Yansıtılmış SQL örneğinde doğru olarak çalışması için , aşağıdakilerin yapılandırılmış olması gerekir:

  • yansıtma sunucusu, Denetim kayıtlarını yazmak veritabanı denetim belirtimini etkinleştirmek için aynı GUID ile bir denetim olmalıdır.This can be configured by using the command CREATE AUDIT WITH GUID=<GUID from source Server Audit>.

  • Ikili dosya hedefler için denetim izi yazılmaktadır konuma yansıtma sunucusu hizmet hesabı iznine sahip olmalısınız.

  • Windows Olay günlüğü hedefler için yansıtmayı sunucunun bulunduğu bilgisayardaki güvenlik ilkesi bir hizmet hesabın güvenlik ve uygulama olay günlüğüne erişim için izin vermesi gerekir.