Creazione di un controllo del server e di una specifica del controllo del database
Questo argomento descrive come creare una specifica del controllo del server e del controllo del database in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL.
Il controllo di un'istanza di SQL Server o di un database 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 è a livello di istanza di SQL Server. È possibile avere più controlli per ogni istanza di SQL Server. 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).
Contenuto dell'articolo
Prima di iniziare:
Per creare un controllo del server e una specifica del controllo del database utilizzando:
Prima di iniziare
Limitazioni e restrizioni
Le specifiche del controllo del database sono oggetti non a sicurezza diretta che risiedono in un database specifico. Quando una specifica del controllo del database viene creata, il relativo stato è disabilitato.
Durante la creazione o la modifica di una specifica di controllo 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 verranno restituiti errori. Per eseguire il controllo degli oggetti con ambito server, utilizzare una specifica di controllo database nel database master.
Le specifiche di controllo del database risiedono nel database dove sono create, ad eccezione del database di sistema tempdb
.
Sicurezza
Autorizzazioni
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, può essere visualizzata dalle entità con le autorizzazioni CONTROL SERVER, ALTER ANY DATABASE AUDIT o l'account sysadmin.
Uso di SQL Server Management Studio
Per creare un controllo del server
In Esplora oggetti espandere la cartella Sicurezza .
Fare clic con il pulsante destro del mouse sulla cartella Audits e scegliere Nuovo controllo. Per altre informazioni, vedere Creare una specifica di controllo del server e controllo del server.
Una volta selezionate le opzioni, fare clic su OK.
Per creare una specifica del controllo a livello di database
In Esplora oggetti espandere il database in cui si desidera creare una nuova specifica del 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 le opzioni indicate di seguito.
Nome
Nome della specifica del controllo del database. Tale nome viene generato automaticamente quando si crea una nuova specifica del controllo del server, ma è modificabile.Controllo
Nome di un controllo del database 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 l'elenco di gruppi di azioni di controllo a livello di database e di azioni di controllo e una descrizione degli eventi contenuti, vedere Azioni e gruppi di azioni di SQL Server Audit.Schema dell'oggetto
Consente di visualizzare lo schema per il nome oggettospecificato.nome oggetto
Nome dell'oggetto da controllare. Tale opzione è disponibile solo per le azioni di controllo e non si applica ai gruppi di controllo.Puntini di sospensione (...)
Consente di visualizzare la finestra di dialogo Seleziona oggetti per eseguire la ricerca e la selezione di un oggetto disponibile, in base all'opzione Tipo di azione di controllo.Nome entità
Account per filtrare il controllo per l'oggetto da controllare.Puntini di sospensione (...)
Viene visualizzata la finestra di dialogo Seleziona oggetti per eseguire la ricerca e selezionare un oggetto disponibile, in base all'opzione Nome oggettospecificata.Una volta selezionate le opzioni, fare clic su OK.
Uso di Transact-SQL
Per creare un controllo del server
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.
USE master ; GO -- Create the server audit. CREATE SERVER AUDIT Payrole_Security_Audit TO FILE ( FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ; GO -- Enable the server audit. ALTER SERVER AUDIT Payrole_Security_Audit WITH (STATE = ON) ;
Per creare una specifica del controllo a livello di database
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Nell'esempio seguente viene creata una specifica del controllo del database denominata
Audit_Pay_Tables
che controlla le istruzioni SELECT e INSERT per l'utentedbo
per la tabellaHumanResources.EmployeePayHistory
in base al controllo del server definito in precedenza.USE AdventureWorks2012 ; GO -- Create the database audit specification. CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables FOR SERVER AUDIT Payrole_Security_Audit ADD (SELECT , INSERT ON HumanResources.EmployeePayHistory BY dbo ) WITH (STATE = ON) ; GO
Per altre informazioni, vedere CREATE SERVER AUDIT (Transact-SQL) e CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).