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
Azure SQL Managed Instance
Az SQL Server audit funkcióval létrehoz egy adatbázis-audit specifikációs objektumot. További információ: SQL Server Audit (Adatbázismotor).
Transact-SQL szintaxis konvenciók
Szemantika
CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
FOR SERVER AUDIT audit_name
[ ADD (
{ <audit_action_specification> | audit_action_group_name }
[ , ...n ] )
]
[ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
action [ , ...n ] ON [class::]securable BY principal [ , ...n ]
}
Arguments
audit_specification_name
Az audit specifikációjának neve.
audit_name
Az audit neve, amelyre ezt a specifikációt alkalmazzák.
audit_action_specification
A megbízottak által a biztosítékokra vonatkozó intézkedések specifikálása, amelyeket az auditban rögzíteni kell.
action
Egy vagy több adatbázis-szintű auditálható művelet neve. Az audit műveletek listájáért lásd: SQL Server Audit Action Groups és Actions.
audit_action_group_name
Egy vagy több adatbázis-szintű auditálható műveletcsoport neve. Az audit akciócsoportok listájáért lásd: SQL Server Audit Action Groups and Actions.
osztály
Az osztálynév (ha van) a Securable-en.
securable
Az adatbázisban található táblázat, nézet vagy más biztonsági objektum, amelyre az audit műveletet vagy az audit műveletcsoportot alkalmazzuk. További információ: Biztonságos eszközök.
principal
Az adatbázis fő nevére, amelyre az audit akciót vagy az audit műveleti csoportot alkalmazzák. Az összes adatbázis-alap auditálásához használja a nyilvános adatbázis alapkövet. További információért lásd: Principals (Database Engine) szakasz.
WITH ( STATE = { ON | KI } )
Lehetővé teszi vagy letiltja az audit számára, hogy az ellenőrzés nyilvántartásokat gyűjthessen ehhez az auditi specifikációhoz.
Megjegyzések
Az adatbázis-audit specifikációk nem biztonságos objektumok, amelyek egy adott adatbázisban találhatók. Amikor létrehoznak egy adatbázis-audit specifikációt, az letiltott állapotban van.
Permissions
A ALTER ANY DATABASE AUDIT jogosult felhasználók létrehozhatnak adatbázis-audit specifikációkat, és bármely audithoz köthetik őket.
Miután létrehoztak egy adatbázis-audit specifikációt, a jogosult felhasználók CONTROL SERVER vagy a sysadmin fiók megtekinthetik azt.
Példák
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A. Auditáld a SELECT és INSERT egy táblán bármely adatbázis-alap esetén
A következő példa létrehoz egy szerverauditot, Payroll_Security_Audit majd egy adatbázis-audit specifikációt, Payroll_Security_AuditSELECT amelyet a INSERT adatbázis bármely tagjának auditjai és állításai a HumanResources.EmployeePayHistory táblához. Minden felhasználót auditálnak, mert minden felhasználó mindig a nyilvános szerep tagja.
USE master;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payroll_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payroll_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payroll_Security_Audit ADD (
SELECT, INSERT ON HumanResources.EmployeePayHistory BY PUBLIC
)
WITH (STATE = ON);
GO
B. Auditáld az összes objektumot egy sémában egy adott adatbázis-szerep esetén
A következő példa létrehoz egy szerverauditot, amelyet hívnak DataModification_Security_Audit , majd egy adatbázis-audit specifikációt, Audit_Data_Modification_On_All_Sales_Tables amely auditál INSERT, UPDATE, és DELETE utasításokat végez a felhasználók által egy új adatbázis szerepben SalesUK, az összes séma Sales objektumára.
USE master;
GO
-- Create the server audit.
-- Change the path to a path that the SQLServer Service has access to.
CREATE SERVER AUDIT DataModification_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT DataModification_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
CREATE ROLE SalesUK
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Data_Modification_On_All_Sales_Tables
FOR SERVER AUDIT DataModification_Security_Audit ADD (
INSERT, UPDATE, DELETE ON SCHEMA::Sales BY SalesUK
)
WITH (STATE = ON);
GO
Kapcsolódó tevékenységek
Szerveraudit specifikációk:
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- SZERVER AUDIT SPECIFIKÁCIÓJÁNAK MÓDOSÍTÁSA (Transact-SQL)
- DROP SERVER AUDIT SPECIFIKÁCIÓ (Transact-SQL)
Adatbázis-audit specifikációk:
- ADATBÁZIS-NAPLÓZÁSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- ADATBÁZIS NAPLÓZÁSI SPECIFIKÁCIÓ MÓDOSÍTÁSA (Transact-SQL)
- ADATBÁZIS-ELLENŐRZÉSI SPECIFIKÁCIÓ ELDOBÁSA (Transact-SQL)
Katalógusnézetek és DMV-k:
- 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)
Kapcsolódó tartalom
- Kiszolgálónaplózás és kiszolgálónaplózási specifikáció létrehozása
- CREATE SERVER AUDIT (Transact-SQL)
- SZERVERAUDIT MÓDOSÍTÁSA (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- MÓDOSÍTÁSI ENGEDÉLYEZÉS (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)