Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
Tworzy obiekt specyfikacji audytu bazy danych za pomocą funkcji audytu SQL Server. Aby uzyskać więcej informacji, zobacz SQL Server Audit (Database Engine).
Transact-SQL konwencje składni
Składnia
CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
FOR SERVER AUDIT audit_name
[ ADD (
{ <audit_action_specification> | audit_action_group_name }
[ , ...n ] )
]
[ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
action [ , ...n ] ON [class::]securable BY principal [ , ...n ]
}
Arguments
audit_specification_name
Nazwa specyfikacji audytu.
audit_name
Nazwa audytu, do którego ta specyfikacja jest stosowana.
audit_action_specification
Określenie działań dotyczących zabezpieczeń przez podmioty, które powinny być odnotowane podczas audytu.
action
Nazwa jednej lub więcej audytowalnych działań na poziomie bazy danych. Listę działań audytowych można znaleźć w sekcji SQL Server Audit Action Groups and Actions.
audit_action_group_name
Nazwa jednej lub więcej grup audytowalnych działań na poziomie bazy danych. Listę grup akcji audytu można znaleźć w sekcji SQL Server Audit Action Groups and Actions.
klasa
Nazwa klasy (jeśli dotyczy) na zabezpieczeniu.
securable
Tabela, widok lub inny zabezpieczony obiekt w bazie danych, na którym należy zastosować akcję audytową lub grupę akcji audytu. Aby uzyskać więcej informacji, zobacz Zabezpieczenia.
principal
Nazwa podmiotu bazy danych, na którym należy zastosować działania audytowe lub grupy audytu. Aby przeprowadzić audyt wszystkich głównych baz danych, użyj publicznego principal bazy danych. Więcej informacji można znaleźć w sekcji Principals (Database Engine).
Z ( STAN = { ON | WYŁĄCZ } )
Umożliwia lub wyłącza audyt w zakresie zbierania dokumentacji dla tej specyfikacji audytu.
Uwagi
Specyfikacje audytu baz danych to obiekty niezabezpieczalne znajdujące się w danej bazie danych. Gdy specyfikacja audytu bazy danych jest tworzona, jest ona wyłączona.
Permissions
Użytkownicy posiadający ALTER ANY DATABASE AUDIT uprawnienia mogą tworzyć specyfikacje audytu baz danych i przypisywać je do dowolnego audytu.
Po utworzeniu specyfikacji audytu bazy danych użytkownicy posiadający CONTROL SERVER uprawnienia lub konto mogą sysadmin ją przeglądać.
Przykłady
Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.
A. Audytuj SELECT i INSERT w tabeli dla dowolnego principa bazy danych
Poniższy przykład tworzy audyt serwera zwany oraz Payroll_Security_Audit specyfikację audytu bazy danych o nazwie Payroll_Security_Audit audyty SELECT oraz INSERT instrukcje przez dowolnego członka roli publicznej bazy danych, dla tabeli HumanResources.EmployeePayHistory . Każdy użytkownik jest audytowany, ponieważ każdy użytkownik jest zawsze członkiem roli publicznej .
USE master;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payroll_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payroll_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
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 PUBLIC
)
WITH (STATE = ON);
GO
B. Audytuj wszelkie modyfikacje danych wszystkich obiektów w schemacie dla konkretnej roli bazy danych
Poniższy przykład tworzy audyt serwera zwany oraz DataModification_Security_Audit specyfikację audytu bazy danych o nazwie Audit_Data_Modification_On_All_Sales_Tables , która audytuje INSERT, UPDATE, oraz DELETE instrukcje użytkowników w nowej roli SalesUKbazy danych , dla wszystkich obiektów w schemiacie Sales .
USE master;
GO
-- Create the server audit.
-- Change the path to a path that the SQLServer Service has access to.
CREATE SERVER AUDIT DataModification_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT DataModification_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
CREATE ROLE SalesUK
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Data_Modification_On_All_Sales_Tables
FOR SERVER AUDIT DataModification_Security_Audit ADD (
INSERT, UPDATE, DELETE ON SCHEMA::Sales BY SalesUK
)
WITH (STATE = ON);
GO
Powiązane zadania
Specyfikacje audytu serwera:
- UTWÓRZ SPECYFIKACJĘ AUDYTU SERWERA (Transact-SQL)
- SPECYFIKACJA AUDYTU ALTER SERVER (Transact-SQL)
- SPECYFIKACJA AUDYTU SERWERA DROP (Transact-SQL)
Specyfikacje audytu baz danych:
- UTWÓRZ SPECYFIKACJĘ AUDYTU BAZY DANYCH (Transact-SQL)
- ZMIEŃ SPECYFIKACJĘ AUDYTU BAZY DANYCH (Transact-SQL)
- USUŃ SPECYFIKACJĘ AUDYTU BAZY DANYCH (Transact-SQL)
Widoki katalogów i DMV:
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.specyfikacje_audytu_serwera (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.database_audit_specifications (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
Treści powiązane
- Tworzenie inspekcji serwera i specyfikacji inspekcji serwera
- UTWORZENIE AUDYTU SERWERA (Transact-SQL)
- AUDYT ALTER SERVER (Transact-SQL)
- AUDYT SERWERA DROP (Transact-SQL)
- ZMIEŃ AUTORYZACJĘ (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)