Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Skapar ett databasrevisionsspecifikationsobjekt med SQL Server-revisionsfunktionen. Mer information finns i SQL Server-granskning (databasmotor).
Transact-SQL syntaxkonventioner
Syntax
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
Namnet på revisionsspecifikationen.
audit_name
Namnet på revisionen som denna specifikation tillämpas på.
audit_action_specification
Specifikationen av åtgärder på värdepapper av huvudmän som ska registreras i revisionen.
åtgärd
Namnet på en eller flera granskningsbara åtgärder på databasnivå. För en lista över revisionsåtgärder, se SQL Server Audit Action Groups and Actions.
audit_action_group_name
Namnet på en eller flera grupper av databasnivågranskabara åtgärder. För en lista över revisionsaktionsgrupper, se SQL Server Audit Action Groups and Actions.
klass
Klassnamnet (om tillämpligt) på det securable.
securable
Tabellen, vyn eller annat sekurerbart objekt i databasen där revisionsåtgärden eller revisionsåtgärdsgruppen ska tillämpas. Mer information finns i Skyddsbara objekt.
principal
Namnet på databasens huvudperson som ska tillämpas på revisionsåtgärden eller revisionsåtgärdsgruppen. För att granska alla databasprinciper, använd den publika databasprincipen. För mer information, se Principals (Database Engine).
MED ( STATE = { ON | OFF } )
Möjliggör eller inaktiverar granskningen från att samla in register för denna revisionsspecifikation.
Anmärkningar
Databasrevisionsspecifikationer är icke-securable objekt som finns i en given databas. När en databasrevisionsspecifikation skapas är den i ett inaktiverat tillstånd.
Permissions
Användare med behörighet ALTER ANY DATABASE AUDIT kan skapa databasrevisionsspecifikationer och binda dem till vilken revision som helst.
Efter att en databasgranskningsspecifikation har skapats kan användare med behörighet CONTROL SERVER , eller kontot sysadmin , se den.
Examples
Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
A. Audit SELECT och INSERT i en tabell för valfri databasprincip
Följande exempel skapar en serverrevision kallad Payroll_Security_Audit och sedan en databasrevisionsspecifikation som kallas Payroll_Security_Audit som reviderar och SELECT satsar INSERT av vilken medlem som helst i den publika databasrollen för tabellenHumanResources.EmployeePayHistory. Varje användare granskas, eftersom varje användare alltid är medlem i den offentliga rollen.
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. Granska all dataändring på alla objekt i ett schema för en specifik databasroll
Följande exempel skapar en serverrevision kallad DataModification_Security_Audit och sedan en databasrevisionsspecifikation kallad Audit_Data_Modification_On_All_Sales_Tables som granskar , INSERT, och UPDATE uttalanden DELETEav användare i en ny databasroll SalesUK, för alla objekt i schematSales.
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
Relaterade uppgifter
Servergranskningsspecifikationer:
- SKAPA SERVERGRANSKNINGSSPECIFIKATION (Transact-SQL)
- ÄNDRA SERVERGRANSKNINGSSPECIFIKATION (Transact-SQL)
- TA BORT SERVERGRANSKNINGSSPECIFIKATION (Transact-SQL)
Specifikationer för databasrevision:
- SKAPA GRANSKNINGSSPECIFIKATION FÖR DATABAS (Transact-SQL)
- ÄNDRA SPECIFIKATION FÖR DATABASGRANSKNING (Transact-SQL)
- TA BORT DATABASGRANSKNINGSSPECIFIKATION (Transact-SQL)
Katalogvyer och DMV:er:
- 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)
Relaterat innehåll
- Skapa en servergranskning och en servergranskningsspecifikation
- SKAPA SERVERGRANSKNING (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- ÄNDRA AUKTORISATION (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)