Condividi tramite


Creare una specifica di controllo del server e controllo del database

Questo argomento descrive come creare una specifica di controllo del server e 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 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 per ogni controllo. Per altre informazioni, vedere SQL Server Audit (Motore di database).

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

Le specifiche del controllo del database sono oggetti non proteggibili che risiedono in un dato database. Quando viene creata una specifica di controllo del database, si trova in uno stato disabilitato.

Quando si crea o si modifica una specifica di controllo del database in un database utente, non includere azioni di controllo su oggetti con ambito server, ad esempio le viste di sistema. Se sono inclusi oggetti con ambito server, verrà creata la verifica. Tuttavia, gli oggetti con ambito server non verranno inclusi e non verrà restituito alcun errore. Per controllare gli oggetti con ambito server, usare una specifica di controllo del database nel database master.

Le specifiche di controllo del database risiedono nel database in cui vengono create, ad eccezione del tempdb database di sistema.

Sicurezza

Autorizzazioni

  • Gli utenti con l'autorizzazione ALTER ANY DATABASE AUDIT possono creare specifiche di controllo del database e associarle a qualsiasi controllo.

  • Dopo che una specifica di controllo del database è stata creata, essa può essere visualizzata dai principali con le autorizzazioni CONTROL SERVER, ALTER ANY DATABASE AUDIT o dall'account sysadmin.

Uso di SQL Server Management Studio

Per creare un controllo del server

  1. In Esplora oggetti espandere la cartella Sicurezza .

  2. Fare clic con il pulsante destro del mouse sulla cartella Audits e scegliere Nuovo controllo.... Per altre informazioni, vedere Creare un controllo del server e una specifica di controllo del server.

  3. Una volta selezionate le opzioni, fare clic su OK.

Per creare una specifica di controllo a livello di database

  1. In Esplora oggetti, espandere il database in cui si vuole creare una specifica di verifica.

  2. Espandere la cartella Sicurezza .

  3. 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 seguenti.

    Nome
    Nome della specifica di controllo del database. Questo nome viene generato automaticamente quando si crea una nuova specifica di controllo del server, ma è modificabile.

    Revisione
    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 azioni di controllo e una descrizione degli eventi in essi 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. Tale opzione è disponibile solo per le azioni di controllo e non si applica ai gruppi di controllo.

    Ellissi (...)
    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 principale
    Account per filtrare il controllo per l'oggetto da controllare.

    Ellissi (...)
    Viene visualizzata la finestra di dialogo Seleziona oggetti per eseguire la ricerca e selezionare un oggetto disponibile, in base all'opzione Nome oggettospecificata.

  4. Al termine della selezione dell'opzione, fare clic su OK.

Uso di Transact-SQL

Per creare un controllo del server

  1. In Esplora oggetti, collegarsi a un'istanza di Database Engine.

  2. Sulla barra Standard fare clic su Nuova query.

  3. 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 di controllo a livello di database

  1. In Esplora oggetti, collegarsi a un'istanza di Database Engine.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Nell'esempio viene creata una specifica di verifica del database denominata Audit_Pay_Tables che verifica le istruzioni SELECT e INSERT dell'utente dbo per la tabella HumanResources.EmployeePayHistory, sulla base della verifica del server definita 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).