CREATE SERVER AUDIT (Transact-SQL)

Crée un objet d'audit de serveur à l'aide de SQL Server Audit. Pour plus d'informations, consultez Fonctionnement de SQL Server Audit.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

CREATE SERVER AUDIT audit_name

    TO { [ FILE (<file_options> [ , ...n ]) ] | APPLICATION_LOG | SECURITY_LOG }
    [ WITH ( <audit_options> [ , ...n ] ) ] 
}
[ ; ]
<file_options>::=
{
       FILEPATH = 'os_file_path'
    [ , MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED } ]
    [ , MAX_ROLLOVER_FILES = { integer | UNLIMITED } ]
    [ , RESERVE_DISK_SPACE = { ON | OFF } ] 
}
  
<audit_options>::=
{
    [  QUEUE_DELAY = integer ]
    [ , ON_FAILURE = { CONTINUE | SHUTDOWN } ]
    [ , AUDIT_GUID = uniqueidentifier ]
}

Arguments

  • TO { FILE | APPLICATION_LOG | SECURITY }
    Détermine l'emplacement de la cible de l'audit. Les options sont un fichier binaire, le journal d'application Windows ou le journal de sécurité Windows. SQL Server ne peut pas écrire dans le journal de sécurité Windows sans configurer d'autres paramètres dans Windows. Pour plus d'informations, consultez Procédure : écrire des événements d'audit du serveur dans le journal de sécurité.

    [!REMARQUE]

    L'écriture dans le journal de sécurité n'est pas disponible dans Windows XP.

  • FILEPATH = 'os_file_path'
    Chemin d'accès du journal d'audit. Le nom de fichier est généré en fonction du nom d'audit et du GUID d'audit.

  • MAXSIZE = { max_size }
    Taille maximale que peut atteindre le fichier d'audit. La valeur max_size doit être un entier suivi de MB, GB, TB ou doit être UNLIMITED. La taille minimale que vous pouvez spécifier pour max_size est 2 MB (soit 2 Mo) et la taille maximale est 2 147 483 647 TB (soit 2 147 483 647 To). Lorsque UNLIMITED est spécifié, la taille du fichier peut croître jusqu'à ce que le disque soit saturé. L'indication d'une valeur inférieure à 2 MB (soit 2 Mo) déclenchera l'erreur MSG_MAXSIZE_TOO_SMALL. La valeur par défaut est UNLIMITED.

  • MAX_ROLLOVER_FILES = { integer | UNLIMITED }
    Spécifie le nombre maximal de fichiers à conserver dans le système de fichiers en plus du fichier actuel. La valeur MAX_ROLLOVER_FILES doit être un entier ou UNLIMITED. La valeur par défaut est UNLIMITED. Ce paramètre est évalué chaque fois que l'audit redémarre (ce qui peut se produire lorsque l'instance du moteur de base de données redémarre ou lorsque l'audit est désactivé, puis réactivé) ou qu'un nouveau fichier est nécessaire, car la valeur de MAXSIZE a été atteinte. LorsqueMAX_ROLLOVER_FILES est évalué, si le nombre de fichiers dépasse la valeur du paramètre MAX_ROLLOVER_FILES, le fichier le plus ancien est supprimé. Par conséquent, lorsque la valeur du paramètre MAX_ROLLOVER_FILES est 0, un fichier est créé chaque fois que le paramètre MAX_ROLLOVER_FILES est évalué. Seul un fichier est automatiquement supprimé lorsque le paramètre MAX_ROLLOVER_FILES est évalué ; par conséquent, lorsque la valeur de MAX_ROLLOVER_FILES diminue, le nombre de fichiers n'est pas réduit tant que les anciens fichiers ne sont pas supprimés manuellement. Le nombre maximal de fichiers qui peuvent être spécifiés est 2 147 483 647.

  • RESERVE_DISK_SPACE = { ON | OFF }
    Cette option pré-alloue la valeur MAXSIZE au fichier sur le disque. Elle s'applique uniquement si MAXSIZE n'est pas égal à UNLIMITED. La valeur par défaut est OFF.

  • QUEUE_DELAY = integer
    Détermine la durée, en millisecondes, qui peut s'écouler avant que le traitement des actions d'audit soit forcé. Une valeur de 0 indique la remise synchrone. La valeur minimale du délai de requête définissable est 1000 (1 seconde), qui est la valeur par défaut. Le maximum est 2 147 483 647 (2 147 483,647 secondes ou 24 jours, 20 heures, 31 minutes, 23,647 secondes). La spécification d'un nombre non valide génère l'erreur MSG_INVALID_QUEUE_DELAY.

  • ON_FAILURE = { CONTINUE | SHUTDOWN }
    Indique si l'instance qui écrit dans la cible doit continuer ou s'arrêter si la cible ne peut pas effectuer l'écriture. La connexion qui émet cette commande d'arrêt doit avoir l'autorisation SHUTDOWN. Si elle n'a pas cette autorisation, cette fonction échoue en indiquant le message MSG_NO_SHUTDOWN_PERMISSION. La valeur par défaut est CONTINUE.

  • AUDIT_GUID = uniqueidentifier
    Pour prendre en charge des scénarios tels que la mise en miroir de bases de données, un audit a besoin d'un GUID spécifique qui correspond au GUID trouvé dans la base de données mise en miroir. Le GUID ne peut pas être modifié après la création de l'audit.

Notes

Lorsqu'un audit de serveur est créé, il est dans un état désactivé.

L'instruction CREATE SERVER AUDIT fait partie de l'étendue d'une transaction. Si la transaction est restaurée, l'instruction l'est également.

Autorisations

Pour créer, modifier ou supprimer un audit du serveur, les entités de sécurité requièrent l'autorisation ALTER ANY SERVER AUDIT ou CONTROL SERVER.

Lorsque vous enregistrez des informations d'audit dans un fichier, pour éviter toute falsification, limitez l'accès à l'emplacement du fichier.

Exemples

A. Création d'un audit du serveur avec une cible de fichier

L'exemple suivant crée un audit du serveur nommé HIPPA_Audit avec un fichier binaire comme cible et aucune option.

CREATE SERVER AUDIT HIPAA_Audit
    TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );

B. Création d'un audit du serveur avec le journal d'application Windows comme cible et des options

L'exemple suivant crée un audit du serveur nommé HIPPA_Audit avec la cible définie sur le journal d'Applications Windows. La file d'attente est écrite chaque seconde et arrête le moteur SQL Server en cas d'échec.

CREATE SERVER AUDIT HIPAA_Audit
    TO APPLICATION_LOG
    WITH ( QUEUE_DELAY = 1000,  ON_FAILURE = SHUTDOWN);

Voir aussi

Référence

Concepts