Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Vytváří specifikační objekt pro audit databáze pomocí auditní funkce SQL Server. Další informace získáte v části SQL Server Audit (Database Engine).
Syntaxe
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
Název specifikace auditu.
audit_name
Název auditu, na který se tato specifikace vztahuje.
audit_action_specification
Specifikace opatření na zajištění ze strany zmocnitelů, která by měla být zaznamenána při auditu.
action
Název jedné nebo více auditovatelných akcí na úrovni databáze. Pro seznam auditních akcí viz SQL Server Audit Action Groups and Actions.
audit_action_group_name
Název jedné nebo více skupin databázově auditovatelných akcí. Pro seznam skupin auditních akcí viz SQL Server Audit Action Groups and Actions.
třída
Název třídy (pokud je relevantní) na securable.
securable
Tabulka, pohled nebo jiný zabezpečený objekt v databázi, na který lze aplikovat auditní akci nebo skupinu auditních akcí. Další informace naleznete v tématu Securables.
principal
Název databázového principa, na který se aplikuje auditní akce nebo skupina auditních akcí. Pro audit všech principalů databáze použijte principal veřejné databáze. Pro více informací viz Principals (Database Engine).
S ( STAV = { ON | VYPNUTO } )
Umožňuje nebo zakazuje auditu sběr záznamů pro tuto specifikaci auditu.
Poznámky
Specifikace auditu databází jsou nezabezpečené objekty, které se nacházejí v dané databázi. Když je specifikace auditu databáze vytvořena, je v deaktivovaném stavu.
Povolení
Uživatelé s tímto oprávněním ALTER ANY DATABASE AUDIT mohou vytvářet specifikace auditu databáze a vázat je na jakýkoli audit.
Po vytvoření specifikace auditu databáze ji mohou uživatelé s oprávněním CONTROL SERVER , tedy účtem sysadmin , vidět.
Examples
Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .
A. Auditujte SELECT a INSERT v tabulce pro jakýkoli princip databáze
Následující příklad vytváří server audit a Payroll_Security_AuditPayroll_Security_Audit poté specifikaci auditu databáze nazvanou SELECT this audits INSERT a příkazy od kteréhokoliv člena veřejné databázové role pro tabulku.HumanResources.EmployeePayHistory Každý uživatel je auditován, protože každý uživatel je vždy členem veřejné role .
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. Auditujte jakoukoli úpravu dat na všech objektech ve schématu pro konkrétní databázovou roli
Následující příklad vytváří server audit nazvaný DataModification_Security_Audit a poté specifikaci databázového auditu nazvanou Audit_Data_Modification_On_All_Sales_Tables , která audituje INSERT, UPDATE, a příkazy DELETE uživatelů v nové databázové roli SalesUK, pro všechny objekty ve schématu Sales .
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
Související úkoly
Specifikace auditu serveru:
-
CREATE SERVER AUDIT SPECIFICATION (Transact-SQL) -
ALTER SERVER AUDIT SPECIFICATION (Transact-SQL) -
DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
Specifikace auditu databáze:
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
-
ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL) -
DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
Zobrazení katalogu a DMV:
- 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)
Související obsah
- Vytvořit audit serveru a specifikaci auditování serveru
- CREATE SERVER AUDIT (Transact-SQL)
-
ALTER SERVER AUDIT (Transact-SQL) -
DROP SERVER AUDIT (Transact-SQL) - ZMĚNIT AUTORIZACI (Transact-SQL)
-
sys.fn_get_audit_file (Transact-SQL) - sys.dm_server_audit_status (Transact-SQL)
-
sys.dm_audit_actions (Transact-SQL)