Dela via


Skapa en specifikation för servergranskning och databasgranskning

gäller för:SQL Server

Den här artikeln beskriver hur du skapar en servergranskning och en databasgranskningsspecifikation 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årnings- och loggningshändelser som inträffar i systemet. Objektet SQL Server Audit samlar in en enda instans av åtgärder på servernivå 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 Database-Level Granskningsspecifikation tillhör en granskning. Du kan skapa en databasgranskningsspecifikation per SQL Server-databas per granskning. Mer information finns i SQL Server-granskning (databasmotor).

Begränsningar

Databasgranskningsspecifikationer är icke-skyddsbara objekt som finns i en viss databas. När en databasgranskningsspecifikation skapas är den i inaktiverat tillstånd.

När du skapar eller ändrar en databasgranskningsspecifikation i en användardatabas ska du inte inkludera granskningsåtgärder på serveromfattningsobjekt, som systemvyerna. Om du inkluderar serverbaserade objekt skapas granskningen. Men objekt med serveromfattning ingår inte och inget fel returneras. Om du vill granska objekt med serveromfattning använder du en databasgranskningsspecifikation i master-databasen.

Databasgranskningsspecifikationer finns i databasen där de skapas, förutom i tempdb-systemdatabasen.

Behörigheter

  • Användare som har behörigheten ALTER ANY DATABASE AUDIT kan skapa databasgranskningsspecifikationer och binda dem till alla granskningar.

  • När en databasgranskningsspecifikation har skapats kan principaler som har CONTROL SERVER eller ALTER ANY DATABASE AUDIT behörighet visa den. Konto sysadmin kan också se det.

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. Mer information finns i Skapa en servergranskning och servergranskningsspecifikation.

  3. När du är klar med att välja alternativ väljer du OK.

Skapa en granskningsspecifikation på databasnivå

  1. I Object Explorer expanderar du databasen där du vill skapa granskningsspecifikationen.

  2. Expandera mappen Security.

  3. Högerklicka på mappen Database Audit Specifications och välj Ny databasgranskningsspecifikation.

    De här alternativen är tillgängliga i dialogrutan Skapa databasgranskningsspecifikation:

    namn

    Namnet på databasens granskningsspecifikation. Ett namn genereras automatiskt när du skapar en servergranskningsspecifikation. Namnet kan redigeras.

    Granskning

    Namnet på ett befintligt servergranskningsobjekt. Ange antingen granskningsnamnet eller välj det i listan.

    granskningsåtgärdstyp

    Anger de granskningsåtgärdsgrupper på databasnivå och granskningsåtgärder som ska avbildas. En lista över granskningsåtgärdsgrupper på databasnivå samt granskningsåtgärder och beskrivningar 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. Det här alternativet är endast tillgängligt för granskningsåtgärder. Det gäller inte för granskningsgrupper.

    Ellips (...)

    Öppnar dialogrutan Välj objekt så att du kan bläddra efter och välja ett tillgängligt objekt baserat på den angivna granskningsåtgärdstyp.

    huvudnamn

    Kontot för att filtrera granskningen för objektet som granskas.

    Ellips (...)

    Öppnar dialogrutan Välj objekt så att du kan bläddra efter och välja ett tillgängligt objekt baserat på den angivna objektnamn.

  4. När du är klar med att välja alternativ väljer du OK.

Använd Transact-SQL

Skapa en servergranskning

  1. I Object Explorer ansluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Klistra in följande exempel i frågefönstret och välj sedan Kör.

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

Skapa en granskningsspecifikation på databasnivå

  1. I Object Explorer ansluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Klistra in följande exempel i frågefönstret och välj sedan Kör. I det här exemplet skapas en databasgranskningsspecifikation med namnet Audit_Pay_Tables. Den övervakar SELECT- och INSERT-instruktioner för användaren dbo och tabellen HumanResources.EmployeePayHistory, baserat på serverrevisionen som definierades i föregående avsnitt.

    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