Мой запрос sys.database_audit_specification не отправляет ни одной записи - PullRequest
1 голос
/ 25 мая 2019

Я изучаю аудит SQL Server.Я развернул Спецификацию аудита сервера.Теперь я хочу запросить все записи, но ничего не возвращается.

Я использую Windows Server 2012 Datacenter - Версия для разработчиков на SQL Server 2014

use master
go
select *
from sys.database_audit_specifications;
go

У меня нет вывода и нетне понимаю, почему.

Как я могу это исправить?

image

1 Ответ

0 голосов
/ 26 мая 2019

Вот пример, который создает аудит на уровне сервера, а затем добавляет спецификацию аудита на уровне базы данных для отслеживания нескольких операций над любым объектом в схеме dbo.

USE master;
GO

-- create aserver audit
CREATE SERVER AUDIT Test_Server_Audit 
  TO FILE ( FILEPATH = 'C:\temp\' ); -- you may need to change that'
GO

-- turn it on
ALTER SERVER AUDIT Test_Server_Audit WITH (STATE = ON);
GO

-- create a demo database    
CREATE DATABASE floob;
GO
USE floob;
GO
CREATE TABLE dbo.blat(x INT);
GO

-- create a database audit specification that monitors for activity
-- against any dbo object:
CREATE DATABASE AUDIT SPECIFICATION Test_Database_Audit
    FOR SERVER AUDIT Test_Server_Audit
    ADD (SELECT, UPDATE, DELETE, INSERT, EXECUTE ON SCHEMA::dbo BY PUBLIC)
    WITH (STATE = ON);
GO

-- do a couple of things:
SELECT * FROM dbo.blat;
DELETE dbo.blat;
GO

-- you should see those couple of things in the audit file:
SELECT * FROM sys.fn_get_audit_file('C:\temp\*.sqlaudit', NULL, NULL);
GO

Для дальнейшего чтения следуйте это

...