Delen via


Een servercontrole- en servercontrolespecificatie maken

van toepassing op:SQL Server-

In dit onderwerp wordt beschreven hoe u een servercontrole- en servercontrolespecificatie maakt in SQL Server met behulp van SQL Server Management Studio of Transact-SQL. Auditing een exemplaar van SQL Server of een SQL Server-database omvat het monitoren en vastleggen van de 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 Server Audit Specification object behoort tot een audit. U kunt per audit één serverauditspecificatie maken, omdat beide op het niveau van het SQL Server-exemplaar worden gemaakt. Zie SQL Server Audit (Database Engine)voor meer informatie.

In Dit Onderwerp

Voordat u begint

Beperkingen en beperkingen

  • Er moet een controle bestaan voordat er een servercontrolespecificatie voor wordt gemaakt. Wanneer een servercontrolespecificatie wordt gemaakt, is deze uitgeschakeld.

  • De INSTRUCTIE CREATE SERVER AUDIT bevindt zich in het bereik van een transactie. Als de transactie wordt teruggedraaid, wordt de verklaring ook teruggedraaid.

Veiligheid

Machtigingen

  • Voor het maken, wijzigen of verwijderen van een servercontrole hebben principals de machtiging ALTER ANY SERVER AUDIT of CONTROL SERVER nodig.

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

  • Nadat een serverauditspecificatie is gemaakt, kan deze worden bekeken door gebruikers met de CONTROL SERVER- of ALTER ANY SERVER AUDIT-machtigingen, het sysadmin-account of door gebruikers met expliciete toegang tot de audit.

SQL Server Management Studio gebruiken

Een serveraudit maken

  1. Vouw in Objectverkenner de map Security uit.

  2. Klik met de rechtermuisknop op de map Audits en selecteer Nieuwe controle....

    De volgende opties zijn beschikbaar op de pagina Algemeen van het dialoogvenster Audit maken.

    auditnaam
    De naam van de audit. Dit wordt automatisch gegenereerd wanneer u een nieuwe controle maakt, maar kan worden bewerkt.

    wachtrijvertraging (in milliseconden)
    Geeft de hoeveelheid tijd in milliseconden op die kan verstrijken voordat controleacties gedwongen worden verwerkt. Een waarde van 0 geeft synchrone levering aan. De standaard minimumwaarde is 1000 (1 seconde). Het maximum is 2.147.483.647 (2.147.483.647 seconden of 24 dagen, 20 uur, 31 minuten, 23,647 seconden).

    Bij een mislukking van de auditlog:
    Doorgaan
    SQL Server-bewerkingen worden voortgezet. Controlerecords worden niet bewaard. De controle blijft proberen gebeurtenissen te registreren en wordt hervat als de foutvoorwaarde is opgelost. Als u de optie Doorgaan selecteert, kunt u niet-gecontroleerde activiteiten toestaan die uw beveiligingsbeleid kunnen schenden. Selecteer deze optie wanneer het functioneren van de Database Engine belangrijker is dan het behouden van een volledige audit. Dit is de standaardselectie.

    server afsluiten
    Hiermee wordt een server afgesloten wanneer een serverexemplaar dat naar het doel schrijft, geen gegevens naar het auditdoel kan schrijven. De aanmelding die dit doet, moet de machtiging SHUTDOWN hebben. Als de aanmelding niet over deze machtiging beschikt, mislukt deze functie en wordt er een foutbericht weergegeven. Er treden geen gecontroleerde gebeurtenissen op. Selecteer deze optie wanneer een controlefout de beveiliging of integriteit van het systeem kan in gevaar kunnen komen.

    mislukte bewerking
    In gevallen waarin sql Server Audit niet naar het auditlogboek kan schrijven, zorgt deze optie ervoor dat databaseacties mislukken als ze anders gecontroleerde gebeurtenissen zouden veroorzaken. Er treden geen gecontroleerde gebeurtenissen op. Acties die geen gecontroleerde gebeurtenissen veroorzaken, kunnen doorgaan. De controle blijft proberen gebeurtenissen te registreren en wordt hervat als de foutvoorwaarde is opgelost. Selecteer deze optie wanneer het onderhouden van een volledige controle belangrijker is dan volledige toegang tot de database-engine.

    Belangrijk

    Wanneer de audit zich in de status "Mislukt" bevindt, kan de Dedicated Administrator Connection doorgaan met het uitvoeren van gecontroleerde gebeurtenissen.

    Lijst met auditdoelen
    Specificeert het doel voor controlegegevens. De beschikbare opties zijn een binair bestand, het Windows-toepassingslogboek of het Windows-beveiligingslogboek. SQL Server kan niet naar het Windows-beveiligingslogboek schrijven zonder extra instellingen in Windows te configureren. Voor meer informatie, zie Schrijf SQL Server-auditgebeurtenissen naar het beveiligingslogboek.

    bestandspad
    Hiermee geeft u de locatie op van de map waarin auditgegevens worden geschreven wanneer de Auditbestemming een bestand is.

    beletselteken (...)
    Hiermee opent u de Map zoeken -server_name dialoogvenster om een bestandspad op te geven of een map te maken waarin het auditbestand is geschreven.

    Maximale limiet voor auditbestand:
    Maximum aantal rollover-bestanden
    Hiermee geeft u op dat, wanneer het maximum aantal controlebestanden wordt bereikt, de oudste auditbestanden worden overschreven door nieuwe bestandsinhoud.

    Maximum aantal bestanden
    Hiermee geeft u op dat wanneer het maximum aantal auditbestanden wordt bereikt, elke actie die ervoor zorgt dat er extra controlegebeurtenissen worden gegenereerd, mislukt met een fout.

    selectievakje Onbeperkt
    Wanneer het selectievakje Onbeperkt onder Maximum rollover-bestanden is ingeschakeld, is er geen limiet voor het aantal auditbestanden dat wordt gemaakt. Het selectievakje Onbeperkt is standaard ingeschakeld en is van toepassing op zowel het maximum aantal rolloverbestanden als het maximum aantal bestanden .

    Aantal bestanden vak
    Hiermee geeft u het aantal controlebestanden dat moet worden gemaakt, tot 2.147.483.647. Deze optie is alleen beschikbaar als Onbeperkt is uitgeschakeld.

    maximale bestandsgrootte
    Hiermee geeft u de maximale grootte voor een auditbestand in megabytes (MB), gigabytes (GB) of terabytes (TB). U kunt een getal opgeven tot 2.147.483.647 TB. Als u het selectievakje Onbeperkt inschakelt, wordt er geen limiet ingesteld voor de grootte van het bestand. Het selectievakje Onbeperkt is standaard ingeschakeld.

    Selectievakje voor het reserveren van schijfruimte
    Hiermee geeft u op dat de ruimte vooraf is toegewezen op de schijf die gelijk is aan de opgegeven maximale bestandsgrootte. Deze instelling kan alleen worden gebruikt als het selectievakje Onbeperkt onder Maximale bestandsgrootte niet is ingeschakeld. Dit selectievakje is niet standaard ingeschakeld.

  3. Voer desgewenst op de pagina Filter een predicaat of WHERE component in voor de servercontrole om extra opties op te geven die niet beschikbaar zijn op de pagina Algemeen. Plaats het predicaat tussen haakjes; bijvoorbeeld: (object_name = 'EmployeesTable').

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

Een servercontrolespecificatie maken

  1. Klik in Objectverkenner op het plusteken om de map Security uit te vouwen.

  2. Klik met de rechtermuisknop op de map servercontrolespecificaties en selecteer Nieuwe servercontrolespecificatie....

    De volgende opties zijn beschikbaar in het dialoogvenster Aanmaken van serverspecifieke audit.

    naam
    De naam van de servercontrolespecificatie. Dit wordt automatisch gegenereerd wanneer u een nieuwe servercontrolespecificatie maakt, maar kan worden bewerkt.

    Audit
    De naam van een bestaande servercontrole. Typ de naam van de audit of selecteer deze in de lijst.

    controle actietype
    Hiermee geeft u de controleactiegroepen op serverniveau en controleacties op die moeten worden vastgelegd. Zie SQL Server Audit Action Groups and Actionsvoor de lijst met controleactiegroepen en controleacties op serverniveau en een beschrijving van de gebeurtenissen die ze bevatten.

    Objectschema
    Geeft het schema weer voor de opgegeven Objectnaam.

    objectnaam
    De naam van het object dat moet worden gecontroleerd. Dit is alleen beschikbaar voor controleacties; deze is niet van toepassing op controlegroepen.

    beletselteken (...)
    Hiermee opent u het dialoogvenster Objecten selecteren om een beschikbaar object te selecteren en hiernaar te bladeren, op basis van het 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 om naar een beschikbaar object te bladeren en te selecteren, op basis van de opgegeven objectnaam.

  3. Wanneer u klaar bent, klikt u op OK.

Transact-SQL gebruiken

Een serveraudit maken

  1. Maak in Objectverkennerverbinding met een instantie van Database Engine.

  2. Klik op de standaardbalk op Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en klik op uitvoeren.

    -- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='E:\SQLAudit\' );  
    

Notitie

Hoewel u een UNC-pad kunt gebruiken als controledoelwit voor auditing, moet u voorzichtig zijn. Als er sprake is van netwerklatentie voor die bestandsshare, kan er sprake zijn van prestatievermindering in SQL Server, omdat threads wachten totdat een controle-schrijfbewerking is voltooid voordat u doorgaat. Mogelijk ziet u verschillende foutberichten in het SQL Server-foutenlogboek, zoals 17894:

2020-02-07 12:21:35.100 Server Dispatcher (0x7954) van dispatchergroep 'XE Engine main dispatcher pool' Worker 0x00000058E7300000 lijkt niet te reageren bij Node 0.

Een servercontrolespecificatie maken

  1. Maak in Objectverkennerverbinding met een instantie van Database Engine.

  2. Klik op Nieuwe queryop de standaardbalk.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en klik op uitvoeren.

    /*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification  
    FOR SERVER AUDIT HIPAA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

Zie CREATE SERVER AUDIT (Transact-SQL) en CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)voor meer informatie.