Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Si applica a: SQL Server
Istanza gestita di SQL di Azure
Crea un oggetto specifica controllo database usando la funzionalità SQL Server. Per altre informazioni, vedere SQL Server Audit (Motore di database).
Convenzioni relative alla sintassi Transact-SQL
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 ]
}
Nome della specifica del controllo.
Nome del controllo al quale viene applicata questa specifica.
Specifica delle azioni sulle entità a protezione diretta che devono essere registrate nel controllo.
Nome di una o più azioni controllabili a livello di database. Per un elenco delle azioni di controllo, vedere Azioni e gruppi di azioni di SQL Server Audit.
Nome di uno o più gruppi di azioni controllabili a livello di database. Per un elenco dei gruppi di azioni di controllo, vedere Azioni e gruppi di azioni di SQL Server Audit.
Nome della classe (se applicabile) nell'entità a protezione diretta.
Tabella, vista o altro oggetto a protezione diretta nel database in cui applicare l'azione di controllo o il gruppo di azioni di controllo. Per altre informazioni, vedere Entità a protezione diretta.
Nome dell'entità di database in cui applicare l'azione di controllo o il gruppo di azioni di controllo. Per controllare tutte le entità di database, usare l'entità di database pubblica . Per altre informazioni, vedere Entità (motore di database).
Abilita o disabilita la raccolta di record mediante il controllo per questa specifica del controllo.
Le specifiche del controllo del database sono oggetti non a sicurezza diretta che risiedono in un database specifico. Al momento della creazione, una specifica di controllo database è in stato disabilitato.
Gli utenti che dispongono dell'autorizzazione ALTER ANY DATABASE AUDIT
possono creare specifiche del controllo del database e associarle a qualsiasi controllo.
Dopo aver creato una specifica di controllo del database, gli utenti con l'autorizzazione CONTROL SERVER
o l'account sysadmin
possono visualizzarlo.
Gli esempi di codice Transact-SQL in questo articolo utilizzano il database campione AdventureWorks2022
o AdventureWorksDW2022
, che è possibile scaricare dalla home page di Esempi di Microsoft SQL Server e progetti collettivi.
Nell'esempio seguente viene creato un controllo del server denominato Payroll_Security_Audit
e quindi una specifica di controllo del database denominata Payroll_Security_Audit
che controlla SELECT
e INSERT
istruzioni da qualsiasi membro del ruolo del database pubblico per la HumanResources.EmployeePayHistory
tabella. Ogni utente viene controllato, perché ogni utente è sempre membro del ruolo pubblico .
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
Nell'esempio seguente viene creato un controllo del server denominato DataModification_Security_Audit
e quindi una specifica di controllo del database denominata Audit_Data_Modification_On_All_Sales_Tables
che controlla INSERT
le istruzioni , UPDATE
e DELETE
dagli utenti in un nuovo ruolo SalesUK
del database , per tutti gli oggetti nello Sales
schema.
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
Specifiche del controllo del server:
Specifiche di controllo del database:
Viste del catalogo e DMV:
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stesso