Creazione di un controllo del server e di una specifica del controllo del databaseCreate a Server Audit and Database Audit Specification

In questo argomento viene illustrato come creare un controllo del server e la specifica di un controllo del database in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to create a server audit and database audit specification in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Ilcontrollo di un'istanza di SQL ServerSQL Server o di un database di SQL ServerSQL Server comporta il rilevamento e la registrazione di eventi che si verificano nel sistema.Auditing an instance of SQL ServerSQL Server or a SQL ServerSQL Server database involves tracking and logging events that occur on the system. L'oggetto SQL Server Audit raccoglie un'unica istanza di azioni a livello di server o di database e gruppi di azioni da monitorare.The SQL Server Audit object collects a single instance of server- or database-level actions and groups of actions to monitor. Il controllo si trova a livello dell'istanza di SQL ServerSQL Server .The audit is at the SQL ServerSQL Server instance level. Per ogni istanza di SQL ServerSQL Server è possibile disporre di più controlli.You can have multiple audits per SQL ServerSQL Server instance. Anche l'oggetto Database-Level Audit Specification fa parte di un controllo.The Database-Level Audit Specification object belongs to an audit. È possibile creare una specifica del controllo del database per ogni database di SQL Server e per ogni controllo.You can create one database audit specification per SQL Server database per audit. Per altre informazioni, vedere SQL Server Audit (Motore di database).For more information, see SQL Server Audit (Database Engine).

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

Le specifiche del controllo del database sono oggetti non a sicurezza diretta che risiedono in un database specifico.Database audit specifications are non-securable objects that reside in a given database. Quando una specifica del controllo del database viene creata, il relativo stato è disabilitato.When a database audit specification is created, it is in a disabled state.

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.When you are creating or modifying a database audit specification in a user database, do not include audit actions on server-scope objects, such as the system views. Se si includono oggetti con ambito server, verrà creato il controllo,If server-scoped objects are included, the audit will be created. ma gli oggetti con ambito server non saranno inclusi e non verranno restituiti errori.However, the server-scoped objects will not be included, and no error will be returned. Per eseguire il controllo degli oggetti con ambito server, utilizzare una specifica di controllo database nel database master.To audit server-scope objects, use a database audit specification in the master database.

Le specifiche di controllo del database risiedono nel database dove vengono create, ad eccezione del database di sistema tempdb .Database audit specifications reside in the database where they are created, with the exception of the tempdb system database.

Sicurezza Security

Autorizzazioni Permissions

  • Gli utenti che dispongono dell'autorizzazione ALTER ANY DATABASE AUDIT possono creare specifiche del controllo del database e associarle a qualsiasi controllo.Users with the ALTER ANY DATABASE AUDIT permission can create database audit specifications and bind them to any audit.

  • Dopo essere stata creata, la specifica di controllo del database può essere visualizzata dalle entità che dispongono delle autorizzazioni CONTROL SERVER, ALTER ANY DATABASE AUDIT o dell'account sysadmin.After a database audit specification is created, it can be viewed by principals with the CONTROL SERVER, ALTER ANY DATABASE AUDIT permissions, or the sysadmin account.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per creare un controllo del serverTo create a server audit

  1. In Esplora oggetti espandere la cartella Sicurezza .In Object Explorer, expand the Security folder.

  2. Fare clic con il pulsante destro del mouse sulla cartella Controlli e scegliere Nuovo controllo....Right-click the Audits folder and select New Audit…. Per altre informazioni, vedere Create a Server Audit and Server Audit Specification.For more information, see Create a Server Audit and Server Audit Specification.

  3. Una volta selezionate le opzioni, fare clic su OK.When you are finished selecting options, click OK.

Per creare una specifica del controllo a livello di databaseTo create a database-level audit specification

  1. In Esplora oggetti espandere il database in cui si desidera creare una nuova specifica del controllo.In Object Explorer, expand the database where you want to create an audit specification.

  2. Espandere la cartella Sicurezza .Expand the Security folder.

  3. Fare clic con il pulsante destro del mouse sulla cartella Specifiche controllo database e selezionare Nuova specifica controllo data base....Right-click the Database Audit Specifications folder and select New Database Audit Specification….

    Nella finestra di dialogo Crea specifica controllo database sono disponibili le opzioni indicate di seguito.The following options are available on the Create Database Audit Specification dialog box.

    NomeName
    Nome della specifica del controllo del database.The name of the database audit specification. Tale nome viene generato automaticamente quando si crea una nuova specifica del controllo del server, ma è modificabile.This is generated automatically when you create a new server audit specification but is editable.

    ControlloAudit
    Nome di un controllo del database esistente.The name of an existing database audit. Digitare il nome del controllo o selezionarlo nell'elenco.Either type in the name of the audit or select it from the list.

    Tipo di azione di controlloAudit Action Type
    Specifica i gruppi di azioni di controllo a livello di database e le azioni di controllo da acquisire.Specifies the database-level audit action groups and audit actions to capture. 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.For the list of database-level audit action groups and audit actions and a description of the events they contain, see SQL Server Audit Action Groups and Actions.

    Schema dell'oggettoObject Schema
    Consente di visualizzare lo schema per l'oggetto Nome oggettospecificato.Displays the schema for the specified Object Name.

    Nome oggettoObject Name
    Nome dell'oggetto da controllare.The name of the object to audit. Tale opzione è disponibile solo per le azioni di controllo e non si applica ai gruppi di controllo.This is only available for audit actions; it does not apply to audit groups.

    Puntini di sospensione (...)Ellipsis (…)
    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.Opens the Select Objects dialog to browse for and select an available object, based on the specified Audit Action Type.

    Nome entitàPrincipal Name
    Account per filtrare il controllo per l'oggetto da controllare.The account to filter the audit by for the object being audited.

    Puntini di sospensione (...)Ellipsis (…)
    Viene visualizzata la finestra di dialogo Seleziona oggetti per eseguire la ricerca e selezionare un oggetto disponibile, in base all'opzione Nome oggettospecificata.Opens the Select Objects dialog to browse for and select an available object, based on the specified Object Name.

  4. Una volta selezionate le opzioni, fare clic su OK.When you are finished selecting option, click OK.

Utilizzo di Transact-SQL Using Transact-SQL

Per creare un controllo del serverTo create a server audit

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL13.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 databaseTo create a database-level audit specification

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. 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.The example creates a database audit specification called Audit_Pay_Tables that audits SELECT and INSERT statements by the dbo user, for the HumanResources.EmployeePayHistory table based on the server audit defined above.

    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).For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).