SQL Server denetim (veritabanı altyapısı)

Denetim örneği SQL Server Veritabanı Altyapısıya da tek tek bir veritabanı izleme ve üzerinde meydana gelen olayları günlüğü içerir Veritabanı Altyapısı. SQL ServerDenetim sunucu denetim belirtimleri sunucu düzeyinde olayları ve veritabanı düzeyinde olayları veritabanı denetim belirtimleri içerebilir sunucu denetimleri oluşturmanızı sağlar. Denetlenen olayları olay günlüklerini veya dosyaları denetlemek için yazılabilir.

Denetim için çeşitli seviyeleri vardır SQL Server, hükümet veya standartları gereksinimlerini kurulumunuza bağlı. SQL ServerDenetim araçları ve işlemleri etkinleştirmek, depolamak ve denetimleri çeşitli sunucu ve veritabanı nesneleri görüntülemek için olmalıdır sağlar.

Sunucu Denetim eylem grupları her örneği, veritabanı denetim eylem grupları veya veritabanı denetim eylemler veritabanı başına kaydedebilirsiniz. Denetim olayı denetlenebilir eylemi karşılaşılan her zaman ortaya çıkar.

Tüm sürümleri SQL ServerSunucu düzeyi denetimleri desteği. Veritabanı düzeyinde denetim için kuruluş, Developer ve değerlendirme sürümlerini sınırlıdır. Daha fazla bilgi için, bkz. SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.

SQL Server denetim bileşenleri

Bir Denetim birkaç öğe sunucu eylemleri veya veritabanı eylemleri belirli bir grubun tek bir paket halinde birleşimidir. Bileşenleri SQL Serversadece grafik ve veri elemanları ile birlikte bir rapor tanımı rapor üretir gibi bir denetim adı verilen bir çıktı üretmek için Denetim birleştirin.

SQL Serverkullanımları denetle Genişletilmiş olayları bir denetim oluşturmak için. Genişletilmiş olayları hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları.

SQL Server denetim

SQL Server denetim nesneye toplar sunucu veya veritabanı düzeyinde eylemler tek bir örneğini ve izlenecek eylem grupları. Denetim altındadır SQL Serverörnek düzeyi. Başına çoklu denetimleri olabilir SQL Serverörneği.

Bir denetim tanımladığınızda, sonuçları çıkış konumunu belirtin. Denetim hedef budur. Denetim oluşturulan bir devre dışı devlet ve otomatik olarak herhangi bir eylem denetlememektedir. Denetim etkinleştirildikten sonra Denetim hedef denetim verileri alır.

Sunucu denetim belirtimi

Sunucu denetim belirtimi nesnesinin ait olduğu için bir denetim. Sen-ebilmek yaratmak bir sunucu denetim belirtimi başına denetim, hem de oluşturulduğundan SQL Serverörneğinin kapsamı.

Sunucu denetim belirtimi olayları genişletilmiş özelliği tarafından harekete geçirilen birçok sunucu düzeyinde eylem grupları toplar. You can include Denetim eylem grupları bir sunucu denetim belirtimi. Denetim eylem grupları olan eylemler, Atomik olayların içinde meydana gelen önceden tanımlı gruplar Veritabanı Altyapısı. Bu eylemler, onları hedef kaydeden denetim, gönderilir.

Sunucu düzeyinde denetim eylem grupları'nda açıklanan SQL Server denetim eylem grupları ve eylemler.

Veritabanı denetim belirtimi

Veritabanı denetim belirtimi nesne de ait bir SQL Serverdenetim. Sen-ebilmek yaratmak için bir veritabanı denetim belirtimi SQL Serververitabanı başına denetim.

Veritabanı denetim belirtimi veritabanı düzeyinde denetim eylem olayları genişletilmiş özelliği tarafından harekete geçirilen toplar. Ya da Denetim eylem grupları ekleyebilir veya veritabanı denetim belirtimi olaylarını denetleme. Denetim olayları tarafından denetlenen atomik eylemler SQL Servermotoru. Denetim eylem grupları eylemlerinin önceden tanımlı gruplar vardır. Her ikisi are vasıl SQL ServerVeritabanı kapsam. Bu eylemler, onları hedef kaydeden denetim, gönderilir. Sistem görünümleri gibi sunucu kapsamı nesneleri bir kullanıcı veritabanı denetim belirtimi bulunmaz.

Veritabanı düzeyinde denetim eylem grupları ve denetim eylemler konusunda açıklanan SQL Server denetim eylem grupları ve eylemler.

Hedef

Denetim sonuçları bir dosya, Windows Güvenlik olay günlüğüne veya Windows uygulama olay günlüğüne bir hedefe gönderilir. Günlükleri gözden olmalı ve hedef ek kayıtlar yazmak için yeterli alan olduğundan emin olmak için düzenli olarak arşivlenir.

Önemli notÖnemli

Kimliği doğrulanmış herhangi bir kullanıcı, okuma ve Windows uygulama olay günlüğüne yazma. Uygulama olay günlüğü, Windows Güvenlik olay günlüğüne daha düşük izinleri gerektirir ve Windows Güvenlik olay günlüğüne az güvenlidir.

Windows güvenliği için yazma gerektirir günlük SQL Serverhizmet hesabı eklenecek Güvenlik denetimleri üretme İlkesi. Varsayılan, yerel sistem, yerel hizmet ve ağ hizmeti tarafından bu ilke bir parçasıdır. Bu ayar, Güvenlik İlkesi ek bileşenini (secpol.msc) kullanılarak yapılandırılabilir. Ayrıca, Nesne erişimini denetleme güvenlik ilkesi, her ikisi de için etkinleştirilmelidir başarı ve hata. Bu ayar, Güvenlik İlkesi ek bileşenini (secpol.msc) kullanılarak yapılandırılabilir. İçinde Windows Vistaya da Windows Server 2008, you can set daha ayrıntılı uygulama üretilen ilke denetim ilkesi programı kullanarak komut satırından (AuditPol.exe). Windows güvenlik günlüğüne yazma etkinleştirme adımları hakkında daha fazla bilgi için bkz: SQL Server denetim olayları güvenlik günlüğüne yazma. Auditpol.exe programı hakkında daha fazla bilgi için bkz: Bilgi Bankası makalesi 921469, detaylı güvenlik denetimini yapılandırmak için Grup İlkesi kullanma. 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'ne genel bakış. Eğer sen lüzum daha hassas denetim izinlerini, ikili dosya hedef kullanın.

Denetim bilgilerini bir dosyaya kaydederken, tahrifat, engellemek için erişim dosya konumuna aşağıdaki yollarla sınırlayabilirsiniz:

  • SQL ServerHizmet hesabı hem okuma hem de yazma izni olması gerekir.

  • Denetim Yöneticiler genellikle okuma ve yazma izni gerektirir. Bu denetim yöneticilerin Windows hesapları denetim dosyaları, yönetim gibi olduğunu varsayar: sırt onları kadar vb. farklı paylaşımlara kopyalayarak.

  • Denetim dosyalarını okumak için yetkili denetim okuyucuların okuma izniniz olmalıdır.

Bile Veritabanı Altyapısıyazılı bir dosyaya izniniz varsa, diğer Windows kullanıcıları denetim dosyası okuyabilirsiniz. Veritabanı AltyapısıOkuma işlemleri engelleyen bir kilit olmaz.

Çünkü Veritabanı Altyapısıdosyasına erişebilirsiniz SQL Servercontrol server izni olan oturumları kullanabilirsiniz Veritabanı AltyapısıDenetim dosyalara erişmek için. Denetim dosyası okunurken herhangi bir kullanıcı kaydetmek için Denetim tanımlar master.sys.fn_get_audit_file. Bu kayıt oturumları denetim dosyası üzerinden eriştiğiniz control server izni ile SQL Server.

Denetim yönetici (için arşiv amaçlı vb.) farklı bir konuma dosya kopyalar, yeni konumu ACL'lerin aşağıdaki izinleri azaltılacak:

  • Yönetici – denetim okuma / yazma

  • Okuyucu – denetim okuma

Denetim raporları ayrı bir örneğinden oluşturmak öneririz SQL Server, örneği gibi SQL Server Express, hangi yalnızca Yöneticiler denetlemek veya denetim okuyucular erişiminiz. Ayrı bir örneğini kullanarak Veritabanı Altyapısıbildirdiği için yetkisiz kullanıcıların Denetim kaydı erişim sağlamasını önlemeye yardımcı olabilir.

Windows BitLocker Sürücü Şifrelemesi veya Windows Şifreleme Dosya Sistemi'ni kullanarak Denetim dosyasının depolandığı klasörü şifreleyerek yetkisiz erişimlere karşı ilave koruma sağlayabilir.

Hedef için yazılmış denetim kayıtları hakkında daha fazla bilgi için bkz: SQL Server denetim kayıtları.

SQL Server denetim kullanarak genel bakış

Sen-ebilmek kullanma SQL Server Management Studioya Transact-SQLbir denetim tanımlamak için. Denetim oluşturulan etkinleştirildikten sonra hedef girişleri alacaksınız.

Sen-ebilmek okumak Windows olay günlüklerini kullanarak Olay Görüntüleyicisi'ni yarar içinde pencere eşiği. Dosya hedefleri, sen-ebilmek kullanma ya da Günlük dosyası Görüntüleyici içinde SQL Server Management Studioya da başvuran hedef dosyayı okumak için işlevi.

Oluşturma ve denetim kullanarak genel işlem aşağıdaki gibidir.

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

  2. Sunucu denetim belirtimi veya denetim haritalar veritabanı denetim belirtimi oluşturmak. Denetim belirtimi etkinleştirin.

  3. Denetim etkinleştirin.

  4. Windows kullanarak denetim olayları okumak Olay Görüntüleyicisi'ni, Günlük dosyası Viewer, ya da fn_get_audit_fileişlevi.

Daha fazla bilgi için Server denetim ve sunucu denetim belirtimi oluşturmakve Server denetim ve veritabanı denetim belirtimi oluşturmak.

Dikkate Alınacak Noktalar

Denetim başlatılması sırasında bir hata durumunda sunucu başlatılmaz. Bu durumda, sunucu kullanılarak başlatılabilir –fkomut satırı seçeneği.

Ne zaman bir denetim hatası neden sunucu kapatmaya ya da çünkü başlatılmayacak biçimde ON_FAILURE = kapatma belirtilen denetim için MSG_AUDIT_FORCED_SHUTDOWNolay \Kütüğü yazılır Kapatma ilk karşılaşma bu ayardan oluşur çünkü olay bir kez yazılır. Bu olay, sonra kapatma neden denetim hatası iletisi yazılır. Yönetici denetim kaynaklı kapatmalar başlatarak atlayabilirsiniz SQL Servertek kullanıcı modu kullanarak –mbayrağı. Eğer tek kullanıcı modunda başlatmak, herhangi bir denetim geçiş nereye ON_FAILURE = kapatma oturum ON_FAILURE olarak çalıştırmak için belirtilen = devam et. Ne zaman SQL Serverkullanılarak başlatılan –mbayrak, MSG_AUDIT_SHUTDOWN_BYPASSEDhata \Kütüğü ileti yazılır

Hizmet başlatma seçenekleri hakkında daha fazla bilgi için bkz: Veritabanı altyapısı hizmeti başlatma seçenekleri.

Bir veritabanı ile tanımlanan bir denetim ekleme

Denetim belirtimi ve sunucuda var olmayan bir GUID neden belirtir bir veritabanı iliştirme bir artık denetim belirtimi. Eşleşen GUID ile bir denetim sunucu örneği yok çünkü, hiçbir denetim olayları kaydedilir. Bu durumu düzeltmek için varolan bir sunucu denetim sahipsiz denetim belirtimi bağlamak için alter veritabanı denetim belirtimi komutunu kullanın. Ya da, yeni sunucu denetim belirtilen GUID oluşturmak için create server DENETIM komutunu kullanın.

Başka bir sürümüne tanımlanmış denetim belirtimi içeren bir veritabanını iliştirebilirsiniz SQL Server, desteklemediği SQL ServerDenetim, gibi SQL Server Expressama denetim olayları kaydedilmeyecek.

Veritabanı yansıtma ve SQL Server denetim

Denetim belirtimi tanımlanmış veritabanı denetim belirtimi içeren bir veritabanını ve kullandığı veritabanı yansıtma veritabanı içerecektir. Yansıtılmış sql örneği düzgün çalışabilmesi için aşağıdaki öğeleri yapılandırılmış olması gerekir:

  • Yansıtma sunucu denetim denetim kayıtlarını yazmak veritabanı denetim belirtimi etkinleştirmek için aynı GUID olmalıdır. Bu komut oluşturma denetim ile GUID kullanılarak yapılandırılabilir= <GUID from source Server Audit>.

  • İkili dosya hedefler, yansıtma sunucu hizmeti hesabı uygun nerede denetim izi yazılmaktadır konumu izinleriniz olmalıdır.

  • Windows olay günlüğü hedefler, yansıtma sunucunun bulunduğu bilgisayardaki güvenlik ilkesi hizmet hesabı erişimi güvenlik ve uygulama olay günlüğüne izin vermeniz gerekir.

Oluşturma ve denetimleri Transact-sql ile yönetme

ddl deyimleri, dinamik yönetimi görünümler ve işlevler kullanma ve Katalog görünümleri tüm yönlerini uygulamak için SQL Serverdenetim.

Veri tanımlama dili deyimleri

Aşağıdaki ddl deyimleri oluşturmak, değiştirmek ve denetim belirtimleri bırakma için kullanabilirsiniz:

ALTER YETKİLENDİRME

SUNUCU DENETİM OLUŞTURMA

ALTER DATABASE DENETIM BELIRTIM

SUNUCU DENETİM BELİRTİMİ OLUŞTURMAK

ALTER SUNUCU DENETİM

AÇILAN VERİTABANI DENETİM BELİRTİMİ

ALTER SUNUCU DENETİM BELİRTİMİ

DROP SERVER DENETIM

VERİTABANI DENETİM BELİRTİMİ OLUŞTURMAK

DROP SERVER DENETIM BELIRTIM

Dinamik görünümler ve işlevler

Aşağıdaki tabloda dinamik görünümler ve için kullanabileceğiniz bir işlev listeler SQL Serverdenetim.

Dinamik görünümler ve işlevler

Açıklama

sys.dm_audit_actions

Denetim günlüğü ve bir parçası olarak yapılandırılan her denetim eylem grubu bildirilebilir her denetim eylem için bir satır döndürür SQL Serverdenetim.

sys.dm_server_audit_status

Denetim geçerli durumu hakkında bilgi sağlar.

sys.dm_audit_class_type_map

Haritalar tablo döndüren class_typeiçin Denetim günlüğü alanında class_descalana sys.dm_audit_actions.

başvuran

Sunucu denetim tarafından oluşturulan bir denetim dosyasından bilgi verir.

Katalog görünümleri

Sen-ebilmek kullanma-e için katalog görünümleri aşağıdaki tabloda SQL Serverdenetim.

Katalog görünümleri

Açıklama

kullanmaksys.database_ audit_specifications

Veritabanı denetim özellikleri hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği.

sys.database_audit_specification_details

Veritabanı denetim özellikleri hakkında bilgi içeren bir SQL Serverdenetlemek için tüm veritabanları sunucu örneği.

verirsys.server_auditsKatalog

Her biri için bir satır içerir SQL ServerDenetim bir sunucu örneği.

sys.server_audit_specifications

Sunucu denetim özellikleri hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği.

sys.server_audit_specifications_details

Sunucu denetim belirtimi ayrıntıları (eylem) hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği.

sys.server_file_audits

Depoları genişletilmiş dosya denetim türü hakkında bilgiler içeren bir SQL ServerDenetim bir sunucu örneği.

İzinler

Her özellik ve komut için SQL ServerDenetim bağımsız izin gereksinimleri vardır.

Oluşturmak, değiştirmek veya sunucu denetim veya sunucu denetim belirtimi için sunucu ilkeleri alter any server DENETIM veya control server izni gerektirir. Oluşturmak, değiştirmek veya veritabanı denetim belirtimi bırak için alter any database DENETIM izni veya veritabanı üzerinde alter veya control izni veritabanı ilkeleri gerektirir. Ayrıca, sorumluları veritabanına bağlanma izni veya control server veya alter any server DENETIM izinleri olması gerekir.

Aksi belirtilmedikçe, katalog görünümlerini görüntüleme aşağıdakilerden biri bir asıl gerektirir:

  • Üyelik sysadminsunucu rolü.

  • control server izni.

  • VIEW server state izni.

  • alter HIÇBIR DENETIM izni.

  • VIEW DENETIM state izni (yalnızca asıl erişim sağlar sys.server_auditskatalog görünüm).

Bir asıl dinamik yönetimi görünümleri kullanma VIEW server state veya alter HIÇBIR DENETIM izni olması gerekir.

Haklar ve izinler vermek hakkında daha fazla bilgi için bkz: grant (Transact-sql).

Dikkat notuDikkat

Sorumluları olarak sysadminrolü sabotaj denetim bileşenleri ve bu db_ownerrolü ile denetim belirtimleri veritabanında sabotaj. SQL ServerDenetim oluşturan veya denetim belirtimi değiştirir oturum en az any database DENETIM alter izni olduğunu doğrular. Ancak, bir veritabanı iliştirdiğinizde doğrulama yok. Tüm veritabanı denetim belirtimleri yalnızca bu sorumluları olarak olarak güvenilir varsaymalıdır sysadminya db_owner rolü.

ilişkili Görevler

Oluşturma ve denetimleri Transact-sql ile yönetme

Server denetim ve sunucu denetim belirtimi oluşturmak

Server denetim ve veritabanı denetim belirtimi oluşturmak

SQL Server denetim günlüğünü görüntüleme

SQL Server denetim olayları güvenlik günlüğüne yazma

Denetim için yakından ilgili konular

Ayrıca bkz.

Kavramlar

SQL Server denetim eylem grupları ve eylemler

SQL Server denetim kayıtları