Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Felügyelt Azure SQL-példány
Létrehoz egy kiszolgálónapló-objektumot az SQL Server Audit használatával. További információ: SQL Server Audit (Adatbázismotor).
Transact-SQL szintaxis konvenciók
Syntax
CREATE SERVER AUDIT audit_name
{
TO { [ FILE (<file_options> [ , ...n ] ) ] | APPLICATION_LOG | SECURITY_LOG | URL | EXTERNAL_MONITOR }
[ WITH ( <audit_options> [ , ...n ] ) ]
[ WHERE <predicate_expression> ]
}
[ ; ]
<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 } ]
[ , AUDIT_GUID = uniqueidentifier ]
[ , OPERATOR_AUDIT = { ON | OFF } ]
}
<predicate_expression> ::=
{
[ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ]
[ , ...n ]
}
<predicate_factor>::=
event_field_name { = | < > | != | > | >= | < | <= | LIKE } { number | 'string' }
Arguments
audit_name
Az audit neve. Nem tartalmazhat szóközöket az SQL Server 2019 (15.x) és korábbi verzióiban.
TO { FILE | APPLICATION_LOG | SECURITY_LOG | URL| EXTERNAL_MONITOR }
Meghatározza a naplózási cél helyét. A beállítások a bináris fájlok, a Windows-alkalmazásnapló vagy a Windows biztonsági napló. Az SQL Server nem tud írni a Windows biztonsági naplójába anélkül, hogy további beállításokat konfigurál a Windowsban. További információ: SQL Server auditesemények írása a biztonsági naplóba.
A URL cél nem támogatott az SQL Server esetében.
Important
A felügyelt Azure SQL-példányban az SQL Audit kiszolgálószinten működik. A helyek csak lehetnek URL vagy EXTERNAL_MONITOR.
FILEPATH = "os_file_path"
A napló elérési útja. A fájlnév a naplózás neve és a naplózás GUID azonosítója alapján jön létre. Ha ez az elérési út érvénytelen, a naplózás nem jön létre.
FILEPATH a cél nem támogatott a felügyelt Azure SQL-példány esetében. Ehelyett használnia PATH kell.
MAXSIZE = max_size
Megadja a maximális méretet, amelyre a naplózási fájl növekedhet. A max_size értéknek egész számnak kell lennie, amelyet MB, GB, TB vagy UNLIMITED. A max_size minimális mérete 2 MB, a maximális érték pedig 2 147 483 647 TB. Ha UNLIMITED meg van adva, a fájl addig nő, amíg meg nem telik a lemez. (0 azt is jelzi, UNLIMITEDhogy .) Ha 2 MB-nál kisebb értéket ad meg, akkor a hiba MSG_MAXSIZE_TOO_SMALLjelentkezik. Az alapértelmezett érték a UNLIMITED.
MAXSIZE a cél nem támogatott a felügyelt Azure SQL-példány esetében.
MAX_ROLLOVER_FILES = { egész szám | KORLÁTLAN }
Megadja a fájlrendszerben az aktuális fájlon kívül megtartandó fájlok maximális számát. Az MAX_ROLLOVER_FILES értéknek egész számnak vagy UNLIMITED. Az alapértelmezett érték a UNLIMITED. Ezt a paramétert akkor értékeli ki a rendszer, ha az audit újraindul (ami akkor fordulhat elő, ha az adatbázismotor példánya újraindul, vagy ha a naplózás ki van kapcsolva, majd újra be van kapcsolva), vagy amikor új fájlra van szükség, mert az MAXSIZE el lett érve. Ha MAX_ROLLOVER_FILES a kiértékelés során a fájlok száma meghaladja a MAX_ROLLOVER_FILES beállítást, a rendszer törli a legrégebbi fájlt. Ennek eredményeképpen, ha a beállítás MAX_ROLLOVER_FILES értéke 0, a rendszer minden alkalommal létrehoz egy új fájlt, amikor kiértékeli a MAX_ROLLOVER_FILES beállítást. A beállítás kiértékelésekor a rendszer csak egy fájlt töröl MAX_ROLLOVER_FILES automatikusan, így ha az érték MAX_ROLLOVER_FILES csökken, a fájlok száma csak akkor csökken, ha a régi fájlokat manuálisan törlik. A megadható fájlok maximális száma 2 147 483 647.
MAX_ROLLOVER_FILES az Azure SQL Managed Instance esetében nem támogatott.
MAX_FILES = egész szám
Meghatározza a létrehozható auditfájlok maximális számát. A korlát elérésekor nem lép át az első fájlra. Ha eléri a MAX_FILES korlátot, minden olyan művelet, amely több naplózási eseményt okoz, hibaüzenettel meghiúsul.
RESERVE_DISK_SPACE = { ON | KI }
Ez a beállítás előre áthelyezi a lemezen lévő fájlt az MAXSIZE értékre. Csak akkor érvényes, ha MAXSIZE nem egyenlő.UNLIMITED Az alapértelmezett érték a OFF.
RESERVE_DISK_SPACE a cél nem támogatott a felügyelt Azure SQL-példány esetében.
QUEUE_DELAY = egész szám
Ezredmásodpercben határozza meg, hogy mennyi idő telik el a naplózási műveletek feldolgozásának kényszerítése előtt. A 0 érték szinkron kézbesítést jelez. A lekérdezések minimális késleltetési 1000 értéke (1 másodperc), amely az alapértelmezett érték. A maximális érték 2147483647 (2 147 483,647 másodperc vagy 24 nap, 20 óra, 31 perc, 23,647 másodperc). Ha érvénytelen számot ad meg, az MSG_INVALID_QUEUE_DELAY hibát okoz.
ON_FAILURE = { FOLYTATÁS | LEÁLLÍTÁS | FAIL_OPERATION }
Azt jelzi, hogy a célnak írt példánynak sikertelennek kell-e lennie, folytatnia vagy le kell állítania az SQL Servert, ha a cél nem tud írni a naplóba. Az alapértelmezett érték a CONTINUE.
CONTINUE
Az SQL Server-műveletek folytatódnak. A naplórekordok nem maradnak meg. A naplózás továbbra is megpróbálja naplózni az eseményeket, és folytatódik, ha a hibafeltétel megoldódott. A folytatási lehetőség kiválasztásával engedélyezhető a nem auditált tevékenység, ami megsértheti a biztonsági szabályzatokat. Használja ezt a lehetőséget, ha az adatbázismotor működésének folytatása fontosabb, mint a teljes naplózás fenntartása.
SHUTDOWN
Kényszeríti az SQL Server-példány leállítását, ha az SQL Server bármilyen okból nem tud adatokat írni a naplózási célba. Az utasítást CREATE SERVER AUDIT végrehajtó bejelentkezésnek rendelkeznie kell az SHUTDOWN SQL Server engedélyével. A leállítási viselkedés akkor is megmarad, ha az SHUTDOWN engedélyt később visszavonják a végrehajtó bejelentkezésből. Ha a felhasználó nem rendelkezik ezzel az engedéllyel, az utasítás meghiúsul, és a naplózás nem jön létre. Akkor használja ezt a lehetőséget, ha egy naplózási hiba veszélyeztetheti a rendszer biztonságát vagy integritását. További információ: SHUTDOWN.
FAIL_OPERATION
Az adatbázisműveletek sikertelenek, ha naplózott eseményeket okoznak. A naplózott eseményeket nem okozó műveletek folytatódhatnak, de nem fordulhatnak elő naplózási események. A naplózás továbbra is megpróbálja naplózni az eseményeket, és folytatódik, ha a hibafeltétel megoldódott. Ezt a lehetőséget akkor használhatja, ha a teljes naplózás fenntartása fontosabb, mint az adatbázismotor teljes hozzáférése.
AUDIT_GUID = egyedi azonosító
Az olyan forgatókönyvek támogatásához, mint az adatbázis-tükrözés vagy az Always On rendelkezésre állási csoportban részt vevő adatbázisok, a naplózáshoz egy adott GUID szükséges, amely megfelel a tükrözött adatbázisban található GUID-nak. A GUID nem módosítható a naplózás létrehozása után.
OPERATOR_AUDIT
A következőkre vonatkozik: Csak felügyelt Azure SQL-példány.
Jelzi, hogy a naplózás rögzíti-e a Microsoft támogatási mérnökeinek műveleteit, amikor egy támogatási kérés során hozzá kell férniük a kiszolgálóhoz.
predicate_expression
Megadja azt a predikátumkifejezést, amely meghatározza, hogy egy eseményt fel kell-e dolgozni vagy sem. A predikátumkifejezések legfeljebb 3000 karakter hosszúságúak, ami korlátozza a sztringargumentumokat.
event_field_name
A predikátum forrását azonosító eseménymező neve. A naplózási mezőket a sys.fn_get_audit_file ismerteti. Az összes mező szűrhető, kivéve file_name, audit_file_offsetés event_time.
Note
Bár a mezők és action_id a class_type mezők varcharsys.fn_get_audit_filetípusúak, csak akkor használhatók számokkal, ha azok predikátumként szolgálnak a szűréshez. A használni class_typekívánt értékek listájának lekéréséhez hajtsa végre a következő lekérdezést:
SELECT spt.[name], spt.[number] FROM [master].[dbo].[spt_values] spt WHERE spt.[type] = N'EOD' ORDER BY spt.[name];
number
Bármilyen numerikus típus, beleértve a decimálist is. A korlátozás a rendelkezésre álló fizikai memória hiánya, vagy egy olyan szám, amely túl nagy ahhoz, hogy 64 bites egész számként jelenjen meg.
'string'
A predikátum összehasonlítása egy ANSI- vagy Unicode-sztringet igényel. A predikátum-összehasonlító függvényekhez nem történik implicit sztringtípus-átalakítás. Ha nem a megfelelő típust adja át, az hibát eredményez.
Remarks
A kiszolgálói naplózás létrehozásakor az le van tiltva.
Az CREATE SERVER AUDIT utasítás egy tranzakció hatókörébe tartozik. Ha a tranzakciót visszavonják, akkor a nyilatkozatot is visszavonják.
Permissions
Kiszolgálói naplózás létrehozásához, módosításához vagy elvetéséhez a tagoknak szükségük van az ALTER ANY SERVER AUDIT engedélyre vagy az engedélyre CONTROL SERVER .
Ha naplóadatokat ment egy fájlba, a módosítás megakadályozása érdekében korlátozza a fájl helyéhez való hozzáférést.
Examples
A. Kiszolgálói naplózás létrehozása fájlcéllal
Az alábbi példa létrehoz egy bináris fájllal meghívott HIPAA_Audit kiszolgálónaplót célként, és nincs lehetőség.
CREATE SERVER AUDIT HIPAA_Audit TO FILE (
FILEPATH = '\\SQLPROD_1\Audit\'
);
B. Kiszolgálói naplózás létrehozása Windows-alkalmazásnapló-tárolóval a beállításokkal
Az alábbi példa létrehoz egy kiszolgálónaplót, amely a Windows-alkalmazásnapló célkészletével van meghívva HIPAA_Audit . Az üzenetsor minden másodpercben meg van írva, és leállítja az SQL Server-motort.
CREATE SERVER AUDIT HIPAA_Audit TO APPLICATION_LOG
WITH (QUEUE_DELAY = 1000, ON_FAILURE = SHUTDOWN);
C. WHERE záradékot tartalmazó kiszolgálói audit létrehozása
Az alábbi példa létrehoz egy adatbázist, sémát és két táblát a példához. A névvel ellátott DataSchema.SensitiveData tábla bizalmas adatokat tartalmaz, és a táblához való hozzáférést rögzíteni kell a naplózásban. A névvel ellátott DataSchema.GeneralData tábla nem tartalmaz bizalmas adatokat. Az adatbázis naplózási specifikációja a séma összes objektumához DataSchema való hozzáférést naplózi. A kiszolgálói naplózás egy WHERE záradékkal jön létre, amely csak a táblára korlátozza a kiszolgálói naplózást SensitiveData . A kiszolgálói naplózás feltételezi, hogy létezik egy naplózási mappa a következő helyen C:\SQLAudit: .
CREATE DATABASE TestDB;
GO
USE TestDB;
GO
CREATE SCHEMA DataSchema;
GO
CREATE TABLE DataSchema.GeneralData
(
ID INT PRIMARY KEY,
DataField VARCHAR (50) NOT NULL
);
GO
CREATE TABLE DataSchema.SensitiveData
(
ID INT PRIMARY KEY,
DataField VARCHAR (50) NOT NULL
);
GO
-- Create the server audit in the master database
USE master;
GO
CREATE SERVER AUDIT AuditDataAccess TO FILE (FILEPATH = 'C:\SQLAudit\')
WHERE object_name = 'SensitiveData';
GO
ALTER SERVER AUDIT AuditDataAccess WITH (STATE = ON);
GO
-- Create the database audit specification in the TestDB database
USE TestDB;
GO
CREATE DATABASE AUDIT SPECIFICATION [FilterForSensitiveData]
FOR SERVER AUDIT [AuditDataAccess]
ADD (SELECT ON SCHEMA::[DataSchema] BY [public])
WITH(STATE = ON);
GO
-- Trigger the audit event by selecting from tables
SELECT ID,
DataField
FROM DataSchema.GeneralData;
SELECT ID,
DataField
FROM DataSchema.SensitiveData;
GO
-- Check the audit for the filtered content
SELECT *
FROM fn_get_audit_file('C:\SQLAudit\AuditDataAccess_*.sqlaudit', DEFAULT, DEFAULT);
GO
Transact-SQL reference
- ALTER SZERVER AUDIT (Transact-SQL)
- DROP SZERVER AUDIT (Transact-SQL)
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓJÁNAK MÓDOSÍTÁSA (Transact-SQL)
- DROP SZERVER AUDIT SPECIFIKÁCIÓ (Transact-SQL)
- ADATBÁZIS-NAPLÓZÁSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- ADATBÁZIS-ELLENŐRZÉSI SPECIFIKÁCIÓ MÓDOSÍTÁSA (Transact-SQL)
- ADATBÁZIS-ELLENŐRZÉSI SPECIFIKÁCIÓ ELDOBÁSA (Transact-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
Related content
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.server_audit_specifications (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.database_audit_specifications (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- sys.dm_audit_class_type_map (Transact-SQL)
- Kiszolgáló audit- és kiszolgálónaplózási specifikációjának létrehozása