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.
Şunlar için geçerlidir: SQL Server Azure SQL Yönetilen Örneği
SQL Server Denetim özelliğini kullanarak bir sunucu denetim nesnesini değiştirir. Daha fazla bilgi için bkz. SQL Server Denetimi (Veritabanı Altyapısı).
Transact-SQL söz dizimi kuralları
Syntax
ALTER SERVER AUDIT audit_name
{
[ TO { { FILE ( <file_options> [ , ...n ] ) } | APPLICATION_LOG | SECURITY_LOG } | URL ]
[ WITH ( <audit_options> [ , ...n ] ) ]
[ WHERE <predicate_expression> ]
}
| REMOVE WHERE
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
FILEPATH = 'os_file_path'
| MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }
| MAX_ROLLOVER_FILES = { integer | UNLIMITED }
| MAX_FILES = integer
| RESERVE_DISK_SPACE = { ON | OFF }
}
<audit_options>::=
{
QUEUE_DELAY = integer
| ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }
| STATE = = { ON | OFF }
}
<predicate_expression>::=
{
[ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ]
[ , ...n ]
}
<predicate_factor>::=
event_field_name { = | < > | != | > | >= | < | <= } { number | 'string' }
Arguments
TO { DOSYA | APPLICATION_LOG | GÜVENLIK | URL }
Denetim hedefinin konumunu belirler. Seçenekler ikili dosya, Windows uygulama günlüğü veya Windows güvenlik günlüğüdür.
Important
Azure SQL Yönetilen Örneği'ta SQL Audit sunucu seviyesinde çalışır ve dosyaları Azure Blob Depolama'da saklar.xel.
DOSYA YOLU = 'os_file_path'
Denetim izinin yolu. Dosya adı, denetim adı ve denetim GUID'sine göre oluşturulur.
MAKSIMUM BOYUT = max_size
Denetim dosyasının büyüyebileceği boyut üst sınırını belirtir.
max_size değeri tam sayı olmalı, ardından MB, GB, TB, veya UNLIMITED.
max_size için belirtebileceğiniz minimum boyut 2 MB ve maksimum 2.147.483.647'dirTB. Belirtildiğinde UNLIMITED , dosya disk dolana kadar büyür. 2 MB'dan küçük bir değer belirtmek hatayı MSG_MAXSIZE_TOO_SMALL artırır.
UNLIMITED varsayılan değerdir.
MAX_ROLLOVER_FILES = tamsayı | SINIRSIZ
Dosya sisteminde tutulacak maksimum dosya sayısını belirler. Ayarlandığında MAX_ROLLOVER_FILES = 0, oluşturulan rollover dosya sayısına bir sınır konmaz.
0 varsayılan değerdir. Belirlenebilecek en fazla dosya sayısı 2.147.483.647'dir.
MAX_FILES = tamsayı
Oluşturulabilecek en fazla denetim dosyası sayısını belirtir. Sınır dolduğunda ilk dosyaya geçmiyor. Sınıra MAX_FILES ulaşıldığında, daha fazla denetim olayının oluşturulmasına neden olan tüm eylemler hatayla başarısız olur.
RESERVE_DISK_SPACE = { ON | KAPALI }
Bu seçenek disk üzerindeki dosyayı değere MAXSIZE önceden ayırır. Yalnızca eşit MAXSIZE değilse UNLIMITEDgeçerlidir.
OFF varsayılan değerdir.
QUEUE_DELAY = tamsayı
Denetim işlemlerinin zorlanmadan önce milisaniye cinsinden geçen zamanı belirler. 0 değeri zaman uyumlu teslimi gösterir. En düşük ayarlanabilir sorgu gecikme değeri 1000 (1 saniye), varsayılan değerdir. En fazla 2.147.483.647 (2.147.483.647 saniye veya 24 gün, 20 saat, 31 dakika, 23.647 saniye). Geçersiz bir numara belirtirseniz, hatasını MSG_INVALID_QUEUE_DELAYalırsınız.
ON_FAILURE = { CONTINUE | KAPATMA | FAIL_OPERATION }
SQL Server denetim günlüğüne yazamıyorsa, hedefe yazan örnek başarısız mı, devam mı yoksa durup durmaması gerektiğini gösterir.
CONTINUE
SQL Server işlemleri devam ediyor. Denetim kayıtları korunmaz. Denetim olayları günlüğe kaydetmeye çalışır ve hata koşulu çözümlenirse devam eder. Devam et seçeneğinin seçilmesi, güvenlik ilkelerinizi ihlal edebilecek, desteklenmeyen etkinliğe izin verebilir. Veritabanı Altyapısı'nın işlemine devam ederken tam denetimden daha önemli olduğunda bu seçeneği kullanın.
KAPANMA
SQL Server herhangi bir nedenle denetim hedefine veri yazamıyorsa SQL Server örneğini kapatmaya zorlar. deyimini yürüten oturum açma bilgilerinin ALTER SQL Server'da SHUTDOWN izni olmalıdır. İzin daha sonra yürütülen oturum açma işleminden SHUTDOWN iptal edilse bile kapatma davranışı devam eder. Kullanıcı bu izne sahip değilse, ifade başarısız olur ve denetim değiştirilmez. Bir denetim hatası sistemin güvenliğini veya bütünlüğünü tehlikeye atabilirken seçeneğini kullanın. Daha fazla bilgi için bkz . SHUTDOWN.
FAIL_OPERATION
Veritabanı eylemleri denetlenen olaylara neden olursa başarısız olur. Denetim etkiyi yaratmayan eylemler devam edebilir, ancak denetim edilen olaylar gerçekleşemez. Denetim olayları günlüğe kaydetmeye çalışır ve hata koşulu çözümlenirse devam eder. Tam denetim sağlamak, Veritabanı Altyapısı'na tam erişimden daha önemli olduğunda bu seçeneği kullanın.
DURUM = { AÇIK | KAPALI }
Denetimin kayıt toplamasını etkinleştirir veya devre dışı bırakır. Çalışan bir denetimin durumunu (from to ONOFFto ) değiştirmek, denetimin durdurulduğuna, denetimi durduran müdürün ve denetimin durdurulduğu zamana dair bir denetim girişi oluşturur.
ADI DEĞIŞTIR = new_audit_name
Denetimin adı değiştirilir. Başka bir seçenekle kullanılamaz.
predicate_expression
Bir olayın işlenip işlenmediğini belirlemek için kullanılan koşul ifadesini belirtir. Koşul ifadeleri, dize bağımsız değişkenlerini sınırlayan 3.000 karakterlik bir uzunlukla sınırlıdır.
event_field_name
Koşul kaynağını tanımlayan olay alanının adı. Denetim alanları sys.fn_get_audit_file açıklanmıştır. Tüm alanlar denetlenebilir, ancak file_name ve audit_file_offsethariç.
number
Ondalık dahil herhangi bir sayısal tür. Sınırlamalar, kullanılabilir fiziksel belleğin olmaması veya 64 bit tamsayı olarak temsil edilemeyecek kadar büyük bir sayıdır.
'string'
Koşul karşılaştırmasının gerektirdiği ansi veya Unicode dizesi. Koşul karşılaştırma işlevleri için örtük dize türü dönüştürme işlemi yapılmaz. Yanlış tip geçmek hata ile sonuçlanır
Remarks
Çağırdığınızda ALTER AUDITen az bir TO, WITH, veya MODIFY NAME cümleleri belirtmelisiniz.
Denetimde değişiklik yapabilmek için denetimin durumunu OFF seçeneğine ayarlamanız gerekir. Eğer ALTER AUDIT denetim etkinleştirildiğinde çalıştırılırsa, başka STATE = OFFseçeneklerle birlikte bir hata mesajı alırsınız MSG_NEED_AUDIT_DISABLED .
Denetim spesifikasyonlarını ekleyebilir, değiştirebilir ve kaldırabilirsiniz, denetimi durdurmadan yapabilirsiniz.
Denetim oluşturulduktan sonra bir denetimin GUID'sini değiştiremezsiniz.
ALTER SERVER AUDIT Bir kullanıcı işlemi içinde ifade kullanılamaz.
Permissions
Bir sunucu denetim prensibi oluşturmak, değiştirmek veya kaldırmak için ALTER ANY SERVER AUDIT veya CONTROL SERVER iznine sahip olmanız gerekir.
Examples
A. Sunucu denetim adını değiştirin
Aşağıdaki örnek, sunucu denetiminin HIPAA_Audit adını olarak değiştirir HIPAA_Audit_Old.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO
B. Sunucu denetim hedefini değiştirin
Aşağıdaki örnek, çağrılan sunucu denetimini HIPAA_Audit dosya hedefine dönüştürür.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit TO FILE (
FILEPATH = '\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE = OFF
)
WITH (
QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE
);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO
C. Sunucu denetimi WHERE maddesini değiştir
Aşağıdaki örnek, örneğin C'de oluşturulan where cümlesini değiştirir CREATE SERVER AUDIT. Yeni WHERE maddesi, kullanıcı tanımlı olayı filtreler: 27.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WHERE user_defined_event_id = 27;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
D. WHERE maddesini kaldırın
Aşağıdaki örnek, bir WHERE cümle önlem ifadesini kaldırır.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
REMOVE WHERE;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
E. Bir sunucu denetimini yeniden adlandırma
Aşağıdaki örnek, sunucu denetim adını 'den FilterForSensitiveData 'ye AuditDataAccessdeğiştirir.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
MODIFY NAME = AuditDataAccess;
GO
ALTER SERVER AUDIT [AuditDataAccess]
WITH (STATE = ON);
GO
Transact-SQL referans
- DROP SERVER AUDIT (Transact-SQL)
- CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
İlgili içerik
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL) (Sunucu dosya denetimleri)
- sys.server_audit_specifications (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL) - Sunucu Denetim Özellikleri Detayları
- sys.database_denetim_özellikleri (Transact-SQL)
- sys.veritabanı_denetime_özellikleri_ayrıntıları (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- Sunucu Denetimi ve Sunucu Denetim Belirtimi oluşturma