Delen via


Een servercontrole- en databasecontrolespecificatie maken

van toepassing op:SQL Server-

In dit artikel wordt beschreven hoe u een servercontrole en een databasecontrolespecificatie in SQL Server maakt met behulp van SQL Server Management Studio of Transact-SQL.

Het controleren van een exemplaar van SQL Server of een SQL Server-database omvat het bijhouden en vastleggen van gebeurtenissen die op het systeem plaatsvinden. Het SQL Server Audit--object verzamelt één exemplaar van acties op server- of databaseniveau en groepen acties die moeten worden bewaakt. De controle bevindt zich op het niveau van het SQL Server-exemplaar. U kunt meerdere controles per SQL Server-exemplaar hebben. Het Database-Level audit specificatie object behoort tot een audit. U kunt per controle één databasecontrolespecificatie per SQL Server-database maken. Zie SQL Server Audit (Database Engine)voor meer informatie.

Beperkingen

Databasecontrolespecificaties zijn niet-beveiligbare objecten die zich in een bepaalde database bevinden. Wanneer een databasecontrolespecificatie wordt gemaakt, heeft deze een uitgeschakelde status.

Wanneer u een databasecontrolespecificatie in een gebruikersdatabase maakt of wijzigt, neemt u geen controleacties op serverbereikobjecten op, zoals de systeemweergaven. Als u objecten met serverbereik opneemt, wordt de audit aangemaakt. De server-gerelateerde objecten zijn echter niet opgenomen en er wordt geen fout geretourneerd. Als u objecten met serverbereik wilt controleren, gebruikt u een databasecontrolespecificatie in de master-database.

Databasecontrolespecificaties bevinden zich in de database waarin ze worden gemaakt, met uitzondering van de tempdb systeemdatabase.

Machtigingen

  • Gebruikers met de machtiging ALTER ANY DATABASE AUDIT kunnen databasecontrolespecificaties maken en deze binden aan elke controle.

  • Nadat een databasecontrolespecificatie is gemaakt, kunnen principals met CONTROL SERVER of ALTER ANY DATABASE AUDIT machtigingen deze bekijken. Het sysadmin-account kan het ook bekijken.

SQL Server Management Studio gebruiken

Een servercontrole maken

  1. Vouw in Objectverkenner de map Security uit.

  2. Klik met de rechtermuisknop op de map Audits en selecteer New Audit. Zie Een servercontrole- en servercontrolespecificatie makenvoor meer informatie.

  3. Wanneer u klaar bent met het selecteren van opties, selecteert u OK.

Een controlespecificatie op databaseniveau maken

  1. Vouw in Objectverkenner de database uit waarin u de auditspecificatie wilt maken.

  2. Vouw de map Security uit.

  3. Klik met de rechtermuisknop op de map database-audit specificaties en selecteer Nieuwe database-audit specificatie.

    Deze opties zijn beschikbaar in het dialoogvenster Databasecontrolespecificatie maken:

    naam

    De naam van de databasecontrolespecificatie. Er wordt automatisch een naam gegenereerd wanneer u een servercontrolespecificatie maakt. De naam kan worden bewerkt.

    audit

    De naam van een bestaand servercontroleobject. Typ de naam van de audit of selecteer deze in de lijst.

    actietype controle

    Hiermee geeft u de controleactiegroepen en controleacties op databaseniveau op die moeten worden vastgelegd. Zie voor een lijst met auditactiegroepen op databaseniveau, auditacties en beschrijvingen van de evenementen die ze bevatten SQL Server Audit Action Groups and Actions.

    Objectschema

    Geeft het schema weer voor de opgegeven Objectnaam.

    objectnaam

    De naam van het object dat moet worden gecontroleerd. Deze optie is alleen beschikbaar voor controleacties. Deze is niet van toepassing op controlegroepen.

    Ellipsis (...)

    Hiermee opent u het dialoogvenster Objecten selecteren, zodat u een beschikbaar object kunt zoeken en selecteren, op basis van de opgegeven Controleactie actietype.

    Principal Name-

    Het account waarop de controle moet worden gefilterd voor het object dat wordt gecontroleerd.

    beletselteken (...)

    Hiermee opent u het dialoogvenster Objecten selecteren, zodat u een beschikbaar object kunt zoeken en selecteren op basis van de opgegeven Objectnaam.

  4. Wanneer u klaar bent met het selecteren van opties, selecteert u OK.

Gebruik Transact-SQL

Een servercontrole maken

  1. Maak in Objectverkenner verbinding met een exemplaar van database-engine.

  2. Selecteer op de standaardbalk Nieuwe query.

  3. Plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.

    USE master;
    GO
    
    -- Create the server audit.
    CREATE SERVER AUDIT Payroll_Security_Audit TO FILE (FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA');
    GO
    
    -- Enable the server audit.
    ALTER SERVER AUDIT Payroll_Security_Audit
    WITH (STATE = ON);
    

Een controlespecificatie op databaseniveau maken

  1. Maak in Objectverkenner verbinding met een exemplaar van database-engine.

  2. Selecteer in de standaardbalk Nieuwe query.

  3. Plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld wordt een databasecontrolespecificatie gemaakt met de naam Audit_Pay_Tables. Het controleert SELECT- en INSERT-instructies door de dbo gebruiker voor de HumanResources.EmployeePayHistory tabel, op basis van de servercontrole die in de vorige sectie is gedefinieerd.

    USE AdventureWorks2022;
    GO
    
    -- Create the database audit specification.
    CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
    FOR SERVER AUDIT Payroll_Security_Audit ADD (
        SELECT, INSERT ON HumanResources.EmployeePayHistory BY dbo
    )
    WITH (STATE = ON);
    GO