Udostępnij za pośrednictwem


Tworzenie specyfikacji inspekcji serwera i inspekcji bazy danych

Dotyczy:programu SQL Server

W tym artykule opisano sposób tworzenia inspekcji serwera i specyfikacji inspekcji bazy danych w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

Audytowanie instancji serwera SQL lub bazy danych serwera SQL obejmuje śledzenie i rejestrowanie zdarzeń w systemie. Obiekt inspekcji SQL Server Audit zbiera pojedyncze wystąpienia akcji na poziomie serwera lub bazy danych oraz grupy akcji do monitorowania. Inspekcja jest na poziomie wystąpienia programu SQL Server. Możesz mieć wiele inspekcji dla instancji SQL Server. Obiekt Database-Level Audit Specification należy do inspekcji. Możesz utworzyć jedną specyfikację inspekcji bazy danych dla bazy danych programu SQL Server na inspekcję. Aby uzyskać więcej informacji, zobacz SQL Server Audit (Database Engine).

Ograniczenia

Specyfikacje inspekcji bazy danych to niezabezpieczalne obiekty, które znajdują się w danej bazie danych. Po utworzeniu specyfikacji audytu bazy danych jest ona w stanie wyłączonym.

Podczas tworzenia lub modyfikowania specyfikacji inspekcji bazy danych w bazie danych użytkownika nie uwzględniaj akcji inspekcji w obiektach zakresu serwera, takich jak widoki systemowe. Jeśli uwzględnisz obiekty o zakresie serwera, zostanie utworzony audyt. Jednak obiekty o zakresie serwera nie są uwzględniane i nie są zwracane żadne błędy. Aby przeprowadzić inspekcję obiektów o zakresie serwera, użyj specyfikacji audytu bazy danych w bazie danych master.

Specyfikacje inspekcji bazy danych znajdują się w bazie danych, w której są tworzone, z wyjątkiem bazy danych systemu tempdb.

Uprawnienia

  • Użytkownicy, którzy mają uprawnienia ALTER ANY DATABASE AUDIT, mogą tworzyć specyfikacje inspekcji bazy danych i powiązać je z dowolną inspekcją.

  • Po utworzeniu specyfikacji inspekcji bazy danych mogą ją wyświetlać podmioty zabezpieczeń, które mają uprawnienia CONTROL SERVER lub ALTER ANY DATABASE AUDIT. Konto sysadmin może to również wyświetlić.

Korzystanie z programu SQL Server Management Studio

Tworzenie inspekcji serwera

  1. W Eksploratorze obiektów rozwiń folder Security.

  2. Kliknij prawym przyciskiem myszy folder Audit i wybierz pozycję Nowy Audyt. Aby uzyskać więcej informacji, zobacz Tworzenie audytu serwera i specyfikacji audytu serwera.

  3. Po zakończeniu wybierania opcji wybierz pozycję OK.

Tworzenie specyfikacji inspekcji na poziomie bazy danych

  1. W Eksploratorze obiektów rozwiń bazę danych, w której chcesz utworzyć specyfikację inspekcji.

  2. Rozwiń folder zabezpieczeń.

  3. Kliknij prawym przyciskiem myszy folder Database Audit Specifications i wybierz Nowa Specyfikacja Inspekcji Bazy Danych.

    Te opcje są dostępne w oknie dialogowym Tworzenie specyfikacji inspekcji bazy danych:

    nazwa

    Nazwa specyfikacji inspekcji bazy danych. Nazwa jest generowana automatycznie podczas tworzenia specyfikacji inspekcji serwera. Nazwa jest edytowalna.

    Inspekcja

    Nazwa istniejącego obiektu inspekcji serwera. Wpisz nazwę inspekcji lub wybierz ją z listy.

    typ akcji inspekcji

    Określa grupy akcji inspekcji na poziomie bazy danych i akcje inspekcji do przechwycenia. Aby uzyskać listę grup audytowych i akcji audytowych na poziomie bazy danych oraz opisy zdarzeń, które zawierają, zobacz Grupy Akcji Audytowych i Akcje SQL Server.

    schemat obiektu

    Wyświetla schemat określonej nazwy obiektu .

    nazwa obiektu

    Nazwa obiektu do inspekcji. Ta opcja jest dostępna tylko dla akcji inspekcji. Nie ma zastosowania do grup inspekcji.

    wielokropek (...)

    Otwiera okno dialogowe Wybieranie obiektów, aby można było wyszukać i wybrać dostępny obiekt na podstawie określonego typu akcji inspekcyjnej .

    główna nazwa

    Konto, według którego filtrowana jest inspekcja dla obiektu poddawanego audytowi.

    wielokropek (...)

    Otwiera okno dialogowe Wybieranie obiektów, aby można było wyszukać i wybrać dostępny obiekt na podstawie określonej nazwy obiektu .

  4. Po zakończeniu wybierania opcji wybierz pozycję OK.

Korzystanie z Transact-SQL

Tworzenie inspekcji serwera

  1. W Eksploratorze obiektów połącz się z wystąpieniem silnika bazy danych.

  2. Na pasku Standardowym wybierz pozycję Nowe zapytanie.

  3. Wklej poniższy przykład w oknie zapytania, a następnie wybierz opcję Wykonaj.

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

Tworzenie specyfikacji inspekcji na poziomie bazy danych

  1. W Eksploratorze obiektów połącz się z wystąpieniem silnika baz danych.

  2. Na pasku Standard wybierz pozycję Nowe zapytanie.

  3. Wklej poniższy przykład w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie jest tworzona specyfikacja inspekcji bazy danych o nazwie Audit_Pay_Tables. Przeprowadza inspekcję instrukcji SELECT i INSERT przez użytkownika dbo dla tabeli HumanResources.EmployeePayHistory na podstawie inspekcji serwera zdefiniowanej w poprzedniej sekcji.

    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