Condividi tramite


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

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

  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 una specifica di controllo del server e controllo del server.

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

Per creare una specifica del controllo a livello di database

  1. In Esplora oggetti espandere il database in cui si desidera creare una nuova specifica del controllo.

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

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

Uso di Transact-SQL

Per creare un controllo del server

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

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

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  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 seguente viene creata una specifica del controllo del database denominata Audit_Pay_Tables che controlla le istruzioni SELECT e INSERT per l'utente dbo per la tabella HumanResources.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).