Dela via


Skapa en servergranskning och en specifikation för servergranskning

gäller för:SQL Server

Det här avsnittet beskriver hur du skapar en servergransknings- och servergranskningsspecifikation i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Granskning av en instans av SQL Server eller en SQL Server-databas omfattar spårning och loggning av händelser som inträffar i systemet. Objektet SQL Server Audit samlar in en enda instans av åtgärder på server- eller databasnivå och grupper av åtgärder som ska övervakas. Granskningen är på SQL Server-instansnivå. Du kan ha flera granskningar per SQL Server-instans. Objektet Server Audit Specification tillhör en revisionsprocess. Du kan skapa en servergranskningsspecifikation per granskning eftersom båda skapas i SQL Server-instansomfånget. Mer information finns i SQL Server-granskning (databasmotor).

i det här avsnittet

Innan du börjar

Begränsningar och restriktioner

  • En granskning måste finnas innan du skapar en servergranskningsspecifikation för den. När en servergranskningsspecifikation skapas är den i inaktiverat tillstånd.

  • SATSET CREATE SERVER AUDIT är inom en transaktions omfattning. Om transaktionen återställs, återställs även instruktionen.

Säkerhet

Behörigheter

  • För att skapa, ändra eller ta bort en servergranskning kräver principaler behörigheten ALTER ANY SERVER AUDIT eller kontroll över servern-behörigheten.

  • Användare med behörigheten ALTER ANY SERVER AUDIT kan skapa servergranskningsspecifikationer och binda dem till alla granskningar.

  • När en servergranskningsspecifikation har skapats kan den visas av huvudnamn med behörigheterna CONTROL SERVER eller ALTER ANY SERVER AUDIT, sysadmin-kontot eller huvudnamn som har explicit åtkomst till granskningen.

Använda SQL Server Management Studio

Skapa en servergranskning

  1. Expandera mappen Security i Object Explorer.

  2. Högerklicka på mappen Granskningar och välj Ny granskning....

    Följande alternativ är tillgängliga på sidan Allmänt i dialogrutan Skapa granskning.

    Granskningsnamn
    Namnet på granskningen. Detta genereras automatiskt när du skapar en ny granskning men kan redigeras.

    Köfördröjning (i millisekunder)
    Anger hur lång tid i millisekunder som kan förflutit innan granskningsåtgärder tvingas bearbetas. Värdet 0 anger synkron leverans. Standardvärdet är 1 000 (1 sekund). Maxvärdet är 2 147 483 647 (2 147 483 647 sekunder eller 24 dagar, 20 timmar, 31 minuter, 23,647 sekunder).

    Vid granskningsloggfel:
    Fortsätt
    SQL Server-åtgärderna fortsätter. Granskningsposter lagras inte. Granskningen fortsätter att försöka logga händelser och återupptas om feltillståndet har lösts. Om du väljer alternativet Fortsätt kan du tillåta oheviderade aktiviteter som kan bryta mot dina säkerhetsprinciper. Välj det här alternativet när det är viktigare att fortsätta driften av databasmotorn än att upprätthålla en fullständig granskning. Det här är standardvalet.

    Stäng av server
    Tvingar en server att stänga ner när en serverinstans som skriver data till målet inte kan skriva data till granskningsmålet. Inloggningen som utfärdar detta måste ha behörigheten SHUTDOWN. Om inloggningen inte har den här behörigheten misslyckas den här funktionen och ett felmeddelande visas. Inga granskade händelser inträffar. Välj det här alternativet när ett granskningsfel kan äventyra systemets säkerhet eller integritet.

    misslyckad åtgärd
    I fall där SQL Server-granskning inte kan skriva till granskningsloggen gör det här alternativet att databasåtgärder misslyckas om de annars skulle orsaka granskade händelser. Inga granskade händelser inträffar. Åtgärder som inte orsakar granskade händelser kan fortsätta. Granskningen fortsätter att försöka logga händelser och återupptas om feltillståndet har lösts. Välj det här alternativet när det är viktigare att underhålla en fullständig granskning än fullständig åtkomst till databasmotorn.

    Viktig

    När granskningen är i ett feltillstånd kan den dedikerade administratörsanslutningen fortsätta att utföra granskade händelser.

    Lista över granskningsmål
    Anger målet för granskning av data. De tillgängliga alternativen är en binär fil, Windows-programloggen eller Windows-säkerhetsloggen. SQL Server kan inte skriva till Windows-säkerhetsloggen utan att konfigurera ytterligare inställningar i Windows. Mer information finns i Skriva SQL Server-granskningshändelser till säkerhetsloggen.

    Filsökväg
    Anger platsen för mappen där granskningsdata skrivs när Granskningsmål är en fil.

    Ellips (...)
    Öppnar dialogrutan Hitta mapp –server_name för att ange en filsökväg eller skapa en mapp där granskningsfilen skrivs.

    granskningsfilens maxgräns:
    Maximalt antal rullande filer
    Anger att när det maximala antalet granskningsfiler nås skrivs de äldsta granskningsfilerna över av nytt filinnehåll.

    Maximalt antal filer
    Anger att när det maximala antalet granskningsfiler nås misslyckas alla åtgärder som gör att ytterligare granskningshändelser genereras med ett fel.

    kryssruta Obegränsad
    När kryssrutan Obegränsat under Maximalt antal rollover-filer är markerad finns det ingen gräns för hur många granskningsfiler som ska skapas. Kryssrutan Obegränsat är markerad som standard och gäller både för Maximalt antal rullfiler och Maximalt antal filer.

    Antal filer rutan
    Anger antalet granskningsfiler som ska skapas, upp till 2 147 483 647. Det här alternativet är endast tillgängligt om Obegränsad är avmarkerat.

    Maximal filstorlek
    Anger den maximala storleken för en granskningsfil i megabyte (MB), gigabyte (GB) eller terabyte (TB). Du kan ange ett tal på upp till 2 147 483 647 TB. Om du markerar kryssrutan Obegränsat begränsas inte filens storlek. Kryssrutan Obegränsat är markerad som standard.

    Kryssrutan Reservera diskutrymme
    Anger att utrymmet är förallokerat på disken som är lika med den angivna maximala filstorleken. Den här inställningen kan bara användas om kryssrutan Obegränsad under Maximal filstorlek inte är markerad. Den här kryssrutan är inte markerad som standard.

  3. På sidan Filtrera kan du valfritt ange ett predikat eller en WHERE-sats för servergranskningen för att ange ytterligare alternativ som inte är tillgängliga från sidan Allmänt. Omslut predikatet inom parenteser; till exempel: (object_name = 'EmployeesTable').

  4. När du är klar med att välja alternativ klickar du på OK.

Skapa en servergranskningsspecifikation

  1. I Object Explorer klickar du på plustecknet för att expandera mappen Security.

  2. Högerklicka på mappen Server Audit Specifications och välj Ny servergranskningsspecifikation....

    Följande alternativ finns i dialogrutan Skapa servergranskningsspecifikation.

    namn
    Namnet på servergranskningsspecifikationen. Detta genereras automatiskt när du skapar en ny servergranskningsspecifikation men kan redigeras.

    Granskning
    Namnet på en befintlig servergranskning. Ange antingen granskningsnamnet eller välj det i listan.

    granskningsåtgärdstyp
    Anger de granskningsåtgärdsgrupper på servernivå och granskningsåtgärder som ska avbildas. En lista över granskningsåtgärdsgrupper på servernivå och granskningsåtgärder samt en beskrivning av de händelser som de innehåller finns i SQL Server Audit Action Groups and Actions.

    objektschema
    Visar schemat för det angivna objektnamn.

    objektnamn
    Namnet på objektet som ska granskas. Detta är endast tillgängligt för granskningsåtgärder. det gäller inte för granskningsgrupper.

    Ellips...
    Öppnar dialogrutan Välj objekt för att bläddra efter och välja ett tillgängligt objekt baserat på den angivna granskningsåtgärdstyp.

    huvudnamn
    Det konto som revisionen ska filtreras med för objektet som granskas.

    Ellips (...)
    Öppnar dialogrutan Välj objekt för att bläddra efter och välja ett tillgängligt objekt baserat på den angivna objektnamn.

  3. När du är klar klickar du på OK.

Använda Transact-SQL

Skapa en servergranskning

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I fältet Standard klickar du på Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och klicka på Kör.

    -- 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\' );  
    

Not

Även om du kan använda en UNC-sökväg som mål för granskningsfilen bör du vara försiktig. Om det finns nätverksfördröjning för den fildelningen kan prestandaförsämring i SQL Server uppstå eftersom trådar skulle vänta på att en granskningsskrivning ska slutföras innan de fortsätter. Du kan se olika felmeddelanden i SQL Server-felloggen, till exempel 17894:

2020-02-07 12:21:35.100 Server Dispatcher (0x7954) från avsändarpoolen "XE Engine main dispatcher pool" Arbetare 0x00000058E7300000 verkar vara utan avbrott på nod 0.

Skapa en servergranskningsspecifikation

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I fältet Standard klickar du på Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och klicka på Kör.

    /*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  
    

Mer information finns i CREATE SERVER AUDIT (Transact-SQL) och CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).