Creare una specifica di controllo server e di controllo database
Si applica a: SQL Server
Questo articolo descrive come creare un controllo del server e una specifica di controllo database in SQL Server usando SQL Server Management Studio o Transact-SQL.
Il controllo di un'istanza di SQL Server o di un database di SQL Server comporta il rilevamento e la registrazione di eventi che si verificano nel sistema. L'oggetto SQL Server Audit raccoglie un'unica istanza di azioni a livello di server o di database e gruppi di azioni da monitorare. Il controllo si trova al livello dell'istanza di SQL Server. Per ogni istanza di SQL Server è possibile disporre di più controlli. Anche l'oggetto Database-Level Audit Specification fa parte di un controllo. È possibile creare una specifica del controllo del database per ogni database di SQL Server e per ogni controllo. Per altre informazioni, vedere SQL Server Audit (Motore di database).
Limiti
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.
Durante la creazione o la modifica di una specifica di controllo database in un database utente, non includere azioni di controllo su oggetti con ambito server, come le viste di sistema. Se si includono oggetti con ambito server, verrà creato il controllo, ma gli oggetti con ambito server non saranno inclusi e non verrà restituito alcun errore. Per eseguire il controllo degli oggetti con ambito server, usare una specifica di controllo database nel database master
.
Le specifiche di controllo database risiedono nel database dove vengono create, ad eccezione del database di sistema tempdb
.
Autorizzazioni
Gli utenti che dispongono dell'autorizzazione
ALTER ANY DATABASE AUDIT
possono creare specifiche del controllo del database e associarle a qualsiasi controllo.Dopo la creazione di una specifica di controllo database, le entità di sicurezza con le autorizzazioni
CONTROL SERVER
oALTER ANY DATABASE AUDIT
possono visualizzarla. Anche l'accountsysadmin
può visualizzarla.
Usare SQL Server Management Studio
Creare un controllo del server
In Esplora oggetti espandere la cartella Sicurezza .
Fare clic con il pulsante destro del mouse sulla cartella Controlli e scegliere Nuovo controllo. Per altre informazioni, vedere Creazione di un controllo del server e di una specifica del controllo del server.
Dopo aver selezionato le opzioni desiderate selezionare OK.
Creare una specifica del controllo a livello di database
In Esplora oggetti espandere il database in cui si vuole creare la specifica di controllo.
Espandere la cartella Sicurezza .
Fare clic con il pulsante destro del mouse sulla cartella Specifiche controllo database e scegliere Nuova specifica controllo database.
Nella finestra di dialogo Crea specifica controllo database sono disponibili queste opzioni:
Nome
Nome della specifica del controllo del database. Un nome viene generato automaticamente quando si crea una nuova specifica di controllo server. Il nome è modificabile.
Controllo
Nome di un oggetto controllo server esistente. Digitare il nome del controllo o selezionarlo nell'elenco.
Tipo di azione di controllo
Specifica i gruppi di azioni di controllo a livello di database e le azioni di controllo da acquisire. Per un elenco di gruppi di azioni di controllo a livello di database e delle azioni di controllo e una descrizione degli eventi contenuti, vedere Azioni e gruppi di azioni di controllo di SQL Server.
Schema dell'oggetto
Consente di visualizzare lo schema per il nome oggettospecificato.
nome oggetto
Nome dell'oggetto da controllare. Questa opzione è disponibile solo per le azioni di controllo. Non si applica ai gruppi di controllo.
Puntini di sospensione (...)
Apre la finestra di dialogo Seleziona oggetti in modo da poter cercare e selezionare un oggetto disponibile, in base all'opzione Tipo di azione di controllo specificata.
Nome entità
Account per filtrare il controllo per l'oggetto da controllare.
Puntini di sospensione (...)
Apre la finestra di dialogo Seleziona oggetti in modo da poter cercare e selezionare un oggetto disponibile, in base all'opzione Nome oggettospecificata.
Dopo aver selezionato le opzioni desiderate selezionare OK.
Usare Transact-SQL
Creare un controllo del server
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Incollare l'esempio seguente nella finestra Query e quindi selezionare Esegui.
USE master; GO -- Create the server audit. CREATE SERVER AUDIT Payroll_Security_Audit TO FILE (FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA'); GO -- Enable the server audit. ALTER SERVER AUDIT Payroll_Security_Audit WITH (STATE = ON);
Creare una specifica del controllo a livello di database
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Incollare l'esempio seguente nella finestra Query e quindi selezionare Esegui. In questo esempio viene creata una specifica di controllo database denominata
Audit_Pay_Tables
. Controlla le istruzioni SELECT e INSERT da parte dell'utentedbo
per la tabellaHumanResources.EmployeePayHistory
, in base al controllo server definito nella sezione precedente.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 dbo ) WITH (STATE = ON); GO