Creazione di un controllo del server e di una specifica del controllo del database

In questo argomento viene illustrato come creare un controllo del server e la specifica di un controllo del database in SQL Server 2012 tramite 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 a livello dell'istanza di SQL Server. Per ogni istanza di SQL Server è possibile disporre di più controlli. Anche l'oggetto specifica controllo a livello di database appartiene a un controllo. È possibile creare una specifica del controllo del database per ogni database di SQL Server e per ogni controllo. Per ulteriori informazioni, vedere SQL Server Audit (Database Engine).

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Sicurezza

  • Per creare un controllo del server e una specifica del controllo del database utilizzando:

    SQL Server Management Studio

    Transact-SQL

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 essere stata creata, la specifica controllo database può essere visualizzata dalle entità che dispongono delle autorizzazioni CONTROL SERVER, ALTER ANY DATABASE oppure dell'account sysadmin.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo 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 Controlli, quindi scegliere Nuovo controllo.... Per ulteriori informazioni, vedere Creazione di un controllo del server e di una specifica del 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 selezionare 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 l'oggetto specificato da Nome oggetto.

    • 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 (...)
      Consente di visualizzare la finestra di dialogo Seleziona oggetti per eseguire la ricerca e selezionare un oggetto disponibile, in base all'opzione Nome oggetto.

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

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo 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 e 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\MSSQL11.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 e 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 ulteriori informazioni, vedere CREATE SERVER AUDIT (Transact-SQL) e CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]