SQL Server Audit (Database Engine)SQL Server Audit (Database Engine)

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Ilcontrollo di un'istanza del Motore di database di SQL ServerSQL Server Database Engine o di un database individuale comporta il rilevamento e la registrazione di eventi che si verificano nel Motore di databaseDatabase Engine.Auditing an instance of the Motore di database di SQL ServerSQL Server Database Engine or an individual database involves tracking and logging events that occur on the Motore di databaseDatabase Engine. SQL ServerSQL Server Audit consente di creare controlli del server che possono contenere specifiche del controllo del server per gli eventi a livello di server e specifiche del controllo del database per gli eventi a livello di database. audit lets you create server audits, which can contain server audit specifications for server level events, and database audit specifications for database level events. Gli eventi controllati possono essere scritti nei registri eventi o nei file di controllo.Audited events can be written to the event logs or to audit files.

Per SQL ServerSQL Serversono disponibili numerosi livelli di controllo, a seconda dei requisiti legislativi o standard previsti per la propria installazione.There are several levels of auditing for SQL ServerSQL Server, depending on government or standards requirements for your installation. In SQL ServerSQL Server Audit sono disponibili gli strumenti e i processi necessari per abilitare, archiviare e visualizzare controlli in vari oggetti server e di database. SQL ServerSQL Server Audit provides the tools and processes you must have to enable, store, and view audits on various server and database objects.

È possibile registrare gruppi di azioni di controllo del server per istanza e gruppi di azioni di controllo del database o azioni di controllo del database per database.You can record server audit action groups per-instance, and either database audit action groups or database audit actions per database. L'evento di controllo si verificherà ogni volta che viene rilevata un'azione controllabile.The audit event will occur every time that the auditable action is encountered.

Tutte le edizioni dei controlli a livello server di supporto SQL ServerSQL Server .All editions of SQL ServerSQL Server support server level audits. Tutte le edizioni supportano i controlli a livello del database a partire da SQL Server 2016SQL Server 2016 SP1.All editions support database level audits beginning with SQL Server 2016SQL Server 2016 SP1. Nelle versioni precedenti i controlli a livello di database sono limitati alle edizioni Enterprise, Developer ed Evaluation.Prior to that, database level auditing was limited to Enterprise, Developer, and Evaluation editions. Per altre informazioni, vedere Funzionalità supportate dalle edizioni di SQL Server 2016.For more information, see Features Supported by the Editions of SQL Server 2016.

Nota

Questo argomento si applica a SQL ServerSQL Server.This topic applies to SQL ServerSQL Server. Per Database SQLSQL Database, vedere Introduzione al controllo del database SQL.For Database SQLSQL Database, see Get started with SQL database auditing.

Componenti di SQL Server AuditSQL Server Audit Components

Per controllo si intende la combinazione di più elementi in un unico pacchetto per un gruppo specifico di azioni server o del database.An audit is the combination of several elements into a single package for a specific group of server actions or database actions. Tramite la combinazione dei componenti di SQL ServerSQL Server Audit viene generato un output denominato controllo, così come tramite la combinazione della definizione del report con elementi grafici e dati viene generato un report.The components of SQL ServerSQL Server audit combine to produce an output that is called an audit, just as a report definition combined with graphics and data elements produces a report.

Per creare un controllo, in SQL ServerSQL Server Audit vengono usati gli eventi estesi . SQL ServerSQL Server audit uses Extended Events to help create an audit. Per ulteriori informazioni sugli eventi estesi, vedere eventi estesi.For more information about Extended Events, see Extended Events.

SQL Server AuditSQL Server Audit

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.

Quando si definisce un controllo, è necessario specificare il percorso per l'output dei risultati,When you define an audit, you specify the location for the output of the results. ovvero la destinazione del controllo.This is the audit destination. Il controllo viene creato con stato disabilitato e non controlla alcuna azione in modo automatico.The audit is created in a disabled state, and does not automatically audit any actions. In seguito all'abilitazione del controllo, la relativa destinazione riceve dati dal controllo stesso.After the audit is enabled, the audit destination receives data from the audit.

Specifica controllo serverServer Audit Specification

L'oggetto specifica controllo server appartiene a un controllo.The Server Audit Specification object belongs to an audit. È possibile creare una specifica del controllo del server per ogni controllo, poiché entrambi vengono creati nell'ambito dell'istanza di SQL ServerSQL Server .You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope.

Nella specifica del controllo del server vengono raccolti molti gruppi di azioni a livello di server, generati dalla funzionalità degli eventi estesi.The server audit specification collects many server-level action groups raised by the Extended Events feature. In una specifica del controllo del server è possibile includere gruppi di azioni di controllo ,You can include audit action groups in a server audit specification. ovvero gruppi predefiniti di azioni che rappresentano gli eventi atomici che si verificano nel Motore di databaseDatabase Engine.Audit action groups are predefined groups of actions, which are atomic events occurring in the Motore di databaseDatabase Engine. Tali azioni vengono inviate al controllo che le registra nella destinazione.These actions are sent to the audit, which records them in the target.

I gruppi di azioni di controllo a livello di server sono descritti nell'argomento Azioni e gruppi di azioni di SQL Server Audit.Server-level audit action groups are described in the topic SQL Server Audit Action Groups and Actions.

Specifica controllo databaseDatabase Audit Specification

Anche l'oggetto specifica controllo database appartiene a SQL ServerSQL Server Audit.The Database Audit Specification object also belongs to a SQL ServerSQL Server audit. È possibile creare una specifica del controllo del database per ogni database di SQL ServerSQL Server e per ogni controllo.You can create one database audit specification per SQL ServerSQL Server database per audit.

Nella specifica del controllo del database vengono raccolte azioni di controllo a livello di database generate dalla funzionalità degli eventi estesi.The database audit specification collects database-level audit actions raised by the Extended Events feature. A questa specifica è possibile aggiungere gruppi di azioni di controllo o eventi di controllo.You can add either audit action groups or audit events to a database audit specification. Glieventi di controllo sono le azioni atomiche che possono essere controllate dal motore di SQL ServerSQL Server ,Audit events are the atomic actions that can be audited by the SQL ServerSQL Server engine. mentre igruppi di azioni di controllo sono gruppi predefiniti di azioni.Audit action groups are predefined groups of actions. Sia gli eventi di controllo che i gruppi di azioni si trovano nell'ambito del database di SQL ServerSQL Server .Both are at the SQL ServerSQL Server database scope. Tali azioni vengono inviate al controllo che le registra nella destinazione.These actions are sent to the audit, which records them in the target. In una specifica del controllo di un database utente non includere oggetti con ambito server, ad esempio viste di sistema.Do not include server-scoped objects, such as the system views, in a user database audit specification.

I gruppi di azioni di controllo a livello di database e le azioni di controllo sono descritti nell'argomento Azioni e gruppi di azioni di SQL Server Audit.Database-level audit action groups and audit actions are described in the topic SQL Server Audit Action Groups and Actions.

DestinazioneTarget

I risultati di un controllo vengono inviati a una destinazione, che può essere un file, il registro eventi di sicurezza o il registro eventi applicazioni di Windows.The results of an audit are sent to a target, which can be a file, the Windows Security event log, or the Windows Application event log. È necessario esaminare e archiviare periodicamente tali registri per garantire che nella destinazione sia disponibile spazio sufficiente per scrivere record aggiuntivi.Logs must be reviewed and archived periodically to make sure that the target has sufficient space to write additional records.

Importante

Qualsiasi utente autenticato può leggere e scrivere nel registro eventi applicazioni di Windows,Any authenticated user can read and write to the Windows Application event log. per cui sono necessarie autorizzazioni inferiori rispetto al registro eventi di sicurezza di Windows e risulta pertanto meno sicuro di quest'ultimo.The Application event log requires lower permissions than the Windows Security event log and is less secure than the Windows Security event log.

Per scrivere nel registro eventi di sicurezza di Windows, è necessario che l'account di servizio di SQL ServerSQL Server venga aggiunto ai criteri Generazione controlli di sicurezza .Writing to the Windows Security log requires the SQL ServerSQL Server service account to be added to the Generate security audits policy. Per impostazione predefinita, gli account di sistema locale, Servizio Locale e Servizio di rete appartengono a tali criteri.By default, the Local System, Local Service, and Network Service are part of this policy. Questa impostazione può essere configurata tramite lo snap-in dei criteri di sicurezza (secpol.msc)This setting can be configured by using the security policy snap-in (secpol.msc). È inoltre necessario che i criteri di sicurezza Controlla accesso agli oggetti siano abilitati sia per Esito positivo che per Esito negativo.Additionally, the Audit object access security policy must be enabled for both Success and Failure. Questa impostazione può essere configurata tramite lo snap-in dei criteri di sicurezza (secpol.msc)This setting can be configured by using the security policy snap-in (secpol.msc). In Windows VistaWindows Vista o in Windows Server 2008 è possibile impostare i criteri generati dall'applicazione con la maggiore granularità dalla riga di comando tramite il programma criteri di controllo (AuditPol.exe).In Windows VistaWindows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe). Per altre informazioni sulla procedura per abilitare la scrittura nel registro di protezione di Windows, vedere Scrittura di eventi di controllo di SQL Server nel registro di sicurezza.For more information about the steps to enable writing to the Windows Security log, see Write SQL Server Audit Events to the Security Log. Per ulteriori informazioni sul programma Auditpol.exe, vedere l'articolo 921469 della Microsoft Knowledge Base, Utilizzo dei Criteri di gruppo per configurare impostazioni di controllo della sicurezza dettagliate.For more information about the Auditpol.exe program, see Knowledge Base article 921469, How to use Group Policy to configure detailed security auditing. I registri eventi di Windows sono globali nel sistema operativo Windows.The Windows event logs are global to the Windows operating system. Per ulteriori informazioni sui registri eventi di Windows, vedere la pagina relativa ai cenni preliminari sul Visualizzatore eventi.For more information about the Windows event logs, see Event Viewer Overview. Se sono necessarie autorizzazioni più specifiche sul controllo, utilizzare la destinazione del file binario.If you need more precise permissions on the audit, use the binary file target.

Quando si salvano informazioni di controllo in un file, per contribuire a impedirne l'alterazione, è possibile limitare l'accesso al percorso del file nei modi seguenti:When you are saving audit information to a file, to help prevent tampering, you can restrict access to the file location in the following ways:

  • L'account del servizio SQL ServerSQL Server deve disporre dell'autorizzazione in lettura e in scrittura.The SQL ServerSQL Server Service Account must have both Read and Write permission.

  • Gli amministratori di controllo richiedono in genere l'autorizzazione in lettura e in scrittura.Audit Administrators typically require Read and Write permission. Ciò presuppone che gli amministratori di controllo siano account di Windows per quanto riguarda l'amministrazione dei file di controllo, ad esempio per la copia in diverse condivisioni, per il backup e così via.This assumes that the Audit Administrators are Windows accounts for administration of audit files, such as: copying them to different shares, backing them up, and so on.

  • I lettori di controllo autorizzati a leggere i file di controllo devono disporre dell'autorizzazione in lettura.Audit Readers that are authorized to read audit files must have Read permission.

    Se dispongono dell'autorizzazione, gli altri utenti di Windows possono leggere il file di controllo anche quando si verifica un'operazione di scrittura in un file da parte del Motore di databaseDatabase Engine .Even when the Motore di databaseDatabase Engine is writing to a file, other Windows users can read the audit file if they have permission. Motore di databaseDatabase Engine non accetta un blocco esclusivo che impedisce le operazioni di lettura.The Motore di databaseDatabase Engine does not take an exclusive lock that prevents read operations.

    Poiché Motore di databaseDatabase Engine può accedere al file, gli accessi SQL ServerSQL Server che dispongono dell'autorizzazione CONTROL SERVER possono utilizzare Motore di databaseDatabase Engine per accedere ai file di controllo.Because the Motore di databaseDatabase Engine can access the file, SQL ServerSQL Server logins that have CONTROL SERVER permission can use the Motore di databaseDatabase Engine to access the audit files. Per registrare un utente che sta leggendo il file di controllo, definire un controllo in master.sys.fn_get_audit_file.To record any user that is reading the audit file, define an audit on master.sys.fn_get_audit_file. In tal modo viene registrato l'accesso al file di controllo tramite SQL ServerSQL Servereffettuato dagli account di accesso dotati dell'autorizzazione CONTROL SERVER.This records the logins with CONTROL SERVER permission that have accessed the audit file through SQL ServerSQL Server.

    Se un amministratore di controllo copia il file in un percorso diverso (ad esempio, per scopi di archiviazione e così via), gli ACL sul nuovo percorso devono avere solo le autorizzazioni seguenti:If an Audit Administrator copies the file to a different location (for archive purposes, and so on), the ACLs on the new location should be reduced to the following permissions:

  • Amministratore di controllo: lettura/scritturaAudit Administrator – Read / Write

  • Lettore di controllo: letturaAudit Reader – Read

    Si consiglia di generare i report di controllo da un'istanza separata di SQL ServerSQL Server, ad esempio un'istanza di SQL Server ExpressSQL Server Expressa cui hanno accesso solo gli amministratori di controllo o i lettori di controllo.We recommend that you generate audit reports from a separate instance of SQL ServerSQL Server, such as an instance of SQL Server ExpressSQL Server Express, to which only Audit Administrators or Audit Readers have access. Utilizzando un'istanza di Motore di databaseDatabase Engine separata per la segnalazione, è possibile evitare che utenti non autorizzati abbiano accesso al record di controllo.By using a separate instance of the Motore di databaseDatabase Engine for reporting, you can help prevent unauthorized users from obtaining access to the audit record.

    È possibile offrire protezione aggiuntiva contro l'accesso non autorizzato crittografando la cartella in cui viene archiviato il file di controllo tramite la crittografia unità BitLocker di Windows o Encrypting File System di Windows.You can offer additional protection against unauthorized access by encrypting the folder in which the audit file is stored by using Windows BitLocker Drive Encryption or Windows Encrypting File System.

    Per ulteriori informazioni sui record di controllo scritti nella destinazione, vedere SQL Server Audit Records.For more information about the audit records that are written to the target, see SQL Server Audit Records.

Panoramica sull'utilizzo di SQL Server AuditOverview of Using SQL Server Audit

Per definire un controllo, è possibile utilizzare SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL .You can use SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to define an audit. In seguito alla creazione e all'abilitazione del controllo, la destinazione riceverà le voci.After the audit is created and enabled, the target will receive entries.

L'utilità Visualizzatore eventi disponibile in Windows consente di leggere i registri eventi di Windows.You can read the Windows event logs by using the Event Viewer utility in Windows. Per le destinazioni file, è possibile usare il Visualizzatore file di log in SQL Server Management StudioSQL Server Management Studio o la funzione fn_get_audit_file per leggere il file di destinazione.For file targets, you can use either the Log File Viewer in SQL Server Management StudioSQL Server Management Studio or the fn_get_audit_file function to read the target file.

Di seguito viene descritto il processo generale di creazione e utilizzo di un controllo.The general process for creating and using an audit is as follows.

  1. Creare un controllo e definire la destinazione.Create an audit and define the target.

  2. Creare una specifica del controllo del server o una specifica del controllo del database che esegue il mapping al controllo.Create either a server audit specification or database audit specification that maps to the audit. Abilitare la specifica del controllo.Enable the audit specification.

  3. Abilitare il controllo.Enable the audit.

  4. Leggere gli eventi di controllo tramite il Visualizzatore eventidi Windows, il Visualizzatore file di logo la funzione fn_get_audit_file.Read the audit events by using the Windows Event Viewer, Log File Viewer, or the fn_get_audit_file function.

    Per ulteriori informazioni, vedere Create a Server Audit and Server Audit Specification e Create a Server Audit and Database Audit Specification.For more information, see Create a Server Audit and Server Audit Specification and Create a Server Audit and Database Audit Specification.

ConsiderazioniConsiderations

Se durante la fase iniziale del controllo si verifica un errore, il server non si avvierà.In the case of a failure during audit initiation, the server will not start. In questo caso, per avviare il server è possibile usare l'opzione -f della riga di comando.In this case, the server can be started by using the –f option at the command line.

Se in seguito a un errore a livello del controllo il server si arresta o non si avvia perché per il controllo è specificata l'impostazione ON_FAILURE=SHUTDOWN, l'evento MSG_AUDIT_FORCED_SHUTDOWN verrà scritto nel registro.When an audit failure causes the server to shut down or not to start because ON_FAILURE=SHUTDOWN is specified for the audit, the MSG_AUDIT_FORCED_SHUTDOWN event will be written to the log. Poiché l'arresto si verificherà quando questa impostazione viene incontrata la prima volta, l'evento verrà scritto solo una volta.Because the shutdown will occur on the first encounter of this setting, the event will be written one time. Tale evento viene scritto dopo il messaggio di errore relativo al controllo che provoca l'arresto.This event is written after the failure message for the audit causing the shutdown. Per ignorare l'arresto provocato dal controllo, un amministratore può avviare SQL ServerSQL Server in modalità utente singolo usando il flag –m .An administrator can bypass audit-induced shutdowns by starting SQL ServerSQL Server in Single User mode using the –m flag. Se l'avvio viene eseguito in modalità utente singolo, verrà effettuato il downgrade di qualsiasi controllo per la cui sessione è specificata l'esecuzione di ON_FAILURE=SHUTDOWN come ON_FAILURE=CONTINUE.If you start in Single User mode, you will downgrade any audit where ON_FAILURE=SHUTDOWN is specified to run in that session as ON_FAILURE=CONTINUE. Se SQL ServerSQL Server viene avviato tramite il flag –m , nel log degli errori verrà scritto il messaggio MSG_AUDIT_SHUTDOWN_BYPASSED.When SQL ServerSQL Server is started by using the –m flag, the MSG_AUDIT_SHUTDOWN_BYPASSED message will be written to the error log.

Per altre informazioni sulle opzioni di avvio del servizio, vedere Opzioni di avvio del servizio del motore di database.For more information about service startup options, see Database Engine Service Startup Options.

Collegamento di un database con un controllo definitoAttaching a Database with an Audit Defined

Il collegamento di un database che dispone di una specifica del controllo e per cui è specificato un GUID che non esiste nel server provocherà una specifica del controllo orfana .Attaching a database that has an audit specification and specifies a GUID that does not exist on the server will cause an orphaned audit specification. Poiché nell'istanza del server non esiste un controllo con GUID corrispondente, non verrà registrato alcun evento di controllo.Because an audit with a matching GUID does not exist on the server instance, no audit events will be recorded. Per risolvere questo problema, utilizzare il comando ALTER DATABASE AUDIT SPECIFICATION per connettere la specifica del controllo orfana a un controllo del server esistenteTo correct this situation, use the ALTER DATABASE AUDIT SPECIFICATION command to connect the orphaned audit specification to an existing server audit. oppure utilizzare il comando CREATE SERVER AUDIT per creare un nuovo controllo del server con il GUID specificato.Or, use the CREATE SERVER AUDIT command to create a new server audit with the specified GUID.

È possibile collegare un database per cui è definita una specifica di controllo a un'altra edizione di SQL ServerSQL Server che non supporta SQL ServerSQL Server Audit, ad esempio SQL Server ExpressSQL Server Express , ma gli eventi di controllo non verranno registrati.You can attach a database that has an audit specification defined on it to another edition of SQL ServerSQL Server that does not support SQL ServerSQL Server audit, such as SQL Server ExpressSQL Server Express but it will not record audit events.

Mirroring del database e SQL Server AuditDatabase Mirroring and SQL Server Audit

Un database che dispone di una specifica del controllo del database definita e che utilizza il mirroring del database includerà la specifica del controllo del database.A database that has a database audit specification defined and that uses database mirroring will include the database audit specification. Per funzionare correttamente sull'istanza SQL Server con mirroring, è necessario che siano configurati gli elementi seguenti:To work correctly on the mirrored SQL instance, the following items must be configured:

  • Il server mirror deve disporre di un controllo con lo stesso GUID per consentire alla specifica del controllo del database di scrivere i record di controllo.The mirror server must have an audit with the same GUID to enable the database audit specification to write audit records. Per questa configurazione usare il comando CREATE AUDIT WITH GUID=<.This can be configured by using the command CREATE AUDIT WITH GUID=<GUID from source Server Audit>.

  • Per le destinazioni del file binario, l'account di servizio del server mirror deve disporre delle autorizzazioni appropriate per il percorso in cui verrà scritto l'itinerario di controllo.For binary file targets, the mirror server service account must have appropriate permissions to the location where the audit trail is being written.

  • Per le destinazioni del registro eventi di Windows, i criteri di sicurezza nel computer in cui si trova il server mirror devono consentire all'account di servizio di accedere al registro eventi applicazioni o di sicurezza.For Windows event log targets, the security policy on the computer where the mirror server is located must allow for service account access to the security or application event log.

Controllo degli amministratoriAuditing Administrators

I membri del ruolo predefinito del server sysadmin vengono identificati come utenti dbo in ogni database.Members of the sysadmin fixed server role are identified as the dbo user in each database. Per controllare le azioni degli amministratori, controllare le azioni dell'utente dbo .To audit actions of the administrators, audit the actions of the dbo user.

Creazione e gestione di controlli con Transact-SQLCreating and Managing Audits with Transact-SQL

È possibile utilizzare istruzioni DDL, DMV e funzioni, nonché viste del catalogo per implementare tutti gli aspetti di SQL ServerSQL Server Audit.You can use DDL statements, dynamic management views and functions, and catalog views to implement all aspects of SQL ServerSQL Server Audit.

Istruzioni DDL (Data Definition Language)Data Definition Language Statements

Per creare, modificare ed eliminare specifiche del controllo, è possibile utilizzare le istruzioni DDL seguenti:You can use the following DDL statements to create, alter, and drop audit specifications:

ALTER AUTHORIZATIONALTER AUTHORIZATION CREATE SERVER AUDITCREATE SERVER AUDIT
ALTER DATABASE AUDIT SPECIFICATIONALTER DATABASE AUDIT SPECIFICATION CREATE SERVER AUDIT SPECIFICATIONCREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDITALTER SERVER AUDIT DROP DATABASE AUDIT SPECIFICATIONDROP DATABASE AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATIONALTER SERVER AUDIT SPECIFICATION DROP SERVER AUDITDROP SERVER AUDIT
CREATE DATABASE AUDIT SPECIFICATIONCREATE DATABASE AUDIT SPECIFICATION DROP SERVER AUDIT SPECIFICATIONDROP SERVER AUDIT SPECIFICATION

Viste e funzioni dinamicheDynamic Views and Functions

Nella tabella seguente vengono elencate le viste e le funzioni dinamiche che è possibile utilizzare per il controllo di SQL ServerSQL Server .The following table lists the dynamic views and function that you can use for SQL ServerSQL Server Auditing.

Viste e funzioni dinamicheDynamic views and functions DescriptionDescription
sys.dm_audit_actionssys.dm_audit_actions Restituisce una riga per ogni azione di controllo che può essere segnalata nel log di controllo e per ogni gruppo di azioni di controllo che possono essere configurate come parte di SQL ServerSQL Server Audit.Returns a row for every audit action that can be reported in the audit log and every audit action group that can be configured as part of SQL ServerSQL Server Audit.
sys.dm_server_audit_statussys.dm_server_audit_status Fornisce informazioni sullo stato corrente del controllo.Provides information about the current state of the audit.
sys.dm_audit_class_type_mapsys.dm_audit_class_type_map Restituisce una tabella che esegue il mapping del campo class_type nel log di controllo al campo class_desc in sys.dm_audit_actions.Returns a table that maps the class_type field in the audit log to the class_desc field in sys.dm_audit_actions.
fn_get_audit_filefn_get_audit_file Restituisce informazioni da un file di controllo creato da un controllo del server.Returns information from an audit file created by a server audit.

Viste del catalogoCatalog Views

Nella tabella seguente vengono elencate le viste del catalogo che è possibile utilizzare per il controllo di SQL ServerSQL Server .The following table lists the catalog views that you can use for SQL ServerSQL Server auditing.

Viste del catalogoCatalog views DescriptionDescription
sys.database_ audit_specificationssys.database_ audit_specifications Contiene informazioni sulle specifiche del controllo del database in un controllo di SQL ServerSQL Server in un'istanza del server.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.database_audit_specification_detailssys.database_audit_specification_details Contiene informazioni sulle specifiche del controllo del database in un controllo di SQL ServerSQL Server in un'istanza del server per tutti i database.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance for all databases.
sys.server_auditssys.server_audits Contiene una riga per ogni controllo di SQL ServerSQL Server in un'istanza del server.Contains one row for each SQL ServerSQL Server audit in a server instance.
sys.server_audit_specificationssys.server_audit_specifications Contiene informazioni sulle specifiche del controllo del server in un controllo di SQL ServerSQL Server in un'istanza del server.Contains information about the server audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.server_audit_specifications_detailssys.server_audit_specifications_details Contiene informazioni sui dettagli (azioni) delle specifiche del controllo del server in un controllo di SQL ServerSQL Server in un'istanza del server.Contains information about the server audit specification details (actions) in a SQL ServerSQL Server audit on a server instance.
sys.server_file_auditssys.server_file_audits Contiene informazioni estese sul tipo di controllo dei file in un controllo di SQL ServerSQL Server in un'istanza del server.Contains stores extended information about the file audit type in a SQL ServerSQL Server audit on a server instance.

AutorizzazioniPermissions

A ogni funzionalità e comando per SQL ServerSQL Server Audit sono associati requisiti di autorizzazione singoli.Each feature and command for SQL ServerSQL Server Audit has individual permission requirements.

Per creare, modificare o eliminare un controllo del server o una specifica del controllo del server, le entità server devono disporre dell'autorizzazione ALTER ANY SERVER AUDIT o CONTROL SERVER.To create, alter, or drop a Server Audit or Server Audit Specification, server principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission. Per creare, modificare o eliminare una specifica del controllo del database, le entità di database devono disporre dell'autorizzazione ALTER ANY DATABASE AUDIT o dell'autorizzazione ALTER o CONTROL per il database.To create, alter, or drop a Database Audit Specification, database principals require the ALTER ANY DATABASE AUDIT permission or the ALTER or CONTROL permission on the database. Le entità devono inoltre disporre dell'autorizzazione necessaria per connettersi al database o dell'autorizzazione ALTER ANY SERVER AUDIT o CONTROL SERVER.In addition, principals must have permission to connect to the database, or ALTER ANY SERVER AUDIT or CONTROL SERVER permissions.

L'autorizzazione VIEW ANY DEFINITION fornisce l'accesso per visualizzare le viste di controllo a livello del server, mentre VIEW DEFINITION fornisce l'accesso per visualizzare le viste di controllo a livello del database.The VIEW ANY DEFINITION permission provides access to view the server level audit views and VIEW DEFINITION provides access to view the database level audit views. Se si negano queste autorizzazioni, non è possibile visualizzare le viste del catalogo, anche se l'entità ha le autorizzazioni ALTER ANY SERVER AUDIT o ALTER ANY DATABASE AUDIT.Denial of these permissions, overrides the ability to view the catalog views, even if the principal has the ALTER ANY SERVER AUDIT or ALTER ANY DATABASE AUDIT permissions.

Per altre informazioni su come concedere diritti e autorizzazioni, vedere GRANT (Transact-SQL).For more information about how to grant rights and permissions, see GRANT (Transact-SQL).

Attenzione

Le entità nel ruolo sysadmin possono alterare qualsiasi componente del controllo, mentre quelle nel ruolo db_owner possono alterare le specifiche del controllo in un database.Principals in the sysadmin role can tamper with any audit component and those in the db_owner role can tamper with audit specifications in a database. SQL ServerSQL Server Audit convaliderà una situazione in cui un accesso che crea o modifica una specifica del controllo dispone almeno dell'autorizzazione ALTER ANY DATABASE AUDIT, Audit will validate that a logon that creates or alters an audit specification has at least the ALTER ANY DATABASE AUDIT permission. ma non esegue alcuna convalida quando si collega un database.However, it does no validation when you attach a database. È necessario presupporre che tutte le specifiche del controllo del database siano attendibile come le entità nel ruolo sysadmin o db_owner.You should assume all Database Audit Specifications are only as trustworthy as those principals in the sysadmin or db_owner role.

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

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

Visualizzazione di un log di controllo di SQL ServerView a SQL Server Audit Log

Scrittura di eventi di controllo di SQL Server nel registro di sicurezzaWrite SQL Server Audit Events to the Security Log

Proprietà server (pagina Sicurezza)Server Properties (Security Page)
Viene illustrato come attivare il controllo degli account di accesso per SQL ServerSQL Server.Explains how to turn on login auditing for SQL ServerSQL Server. I record di controllo vengono archiviati nel registro applicazioni di Windows.The audit records are stored in the Windows application log.

Opzione di configurazione del server c2 audit modec2 audit mode Server Configuration Option
Viene illustrata la modalità di controllo conforme alla sicurezza C2 in SQL ServerSQL Server.Explains the C2 security compliance auditing mode in SQL ServerSQL Server.

Categoria di eventi Security Audit (SQL Server Profiler)Security Audit Event Category (SQL Server Profiler)
Vengono illustrati gli eventi di controllo che è possibile utilizzare in SQL Server ProfilerSQL Server Profiler.Explains the audit events you can use in SQL Server ProfilerSQL Server Profiler. Per altre informazioni, vedere SQL Server Profiler.For more information, see SQL Server Profiler.

Traccia SQLSQL Trace
Illustrate le modalità di uso di Traccia SQL all'interno di applicazioni personalizzate per creare tracce manualmente anziché tramite SQL ServerSQL Server Profiler.Explains how SQL Trace can be used from within your own applications to create traces manually, instead of using SQL ServerSQL Server Profiler.

Trigger DDLDDL Triggers
Vengono illustrate le modalità di utilizzo di trigger DDL (Data Definition Language) per tenere traccia delle modifiche apportate ai database.Explains how you can use Data Definition Language (DDL) triggers to track changes to your databases.

Microsoft TechNet: SQL Server TechCenter: Sicurezza e protezione di SQL Server 2005Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
Fornisce informazioni aggiornate sulla sicurezza di SQL ServerSQL Server .Provides up-to-date information about SQL ServerSQL Server security.

Vedere ancheSee Also

Azioni e gruppi di azioni di SQL Server Audit SQL Server Audit Action Groups and Actions
Record di SQL Server AuditSQL Server Audit Records