--In the master database create a server audit
USE master
GO
CREATE SERVER AUDIT [Audit_Select_HumanResources_Employee]
TO FILE
( FILEPATH = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup'
,MAXSIZE = 0 MB
,MAX_ROLLOVER_FILES = 2147483647
,RESERVE_DISK_SPACE = OFF)
WITH
(QUEUE_DELAY = 1000, state= on)
ALTER SERVER AUDIT Audit_Select_HumanResources_Employee
WITH (STATE = ON) ;
GO
--In the database to monitor create a database audit
USE [AdventureWorks2012]
go
CREATE DATABASE AUDIT SPECIFICATION [Database-Audit]
FOR SERVER AUDIT [Audit_Select_HumanResources_Employee]
--In this example, we are monitoring the humanResources.employee
ADD (SELECT ON OBJECT::[HumanResources].[Employee] BY [dbo])
with (state=on)
--Now you can see the activity in the audit file created
SELECT * FROM sys.fn_get_audit_file ('c:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\Audit_Select_HumanResources_Employee.sqlaudit',default,default);
GO
난 그냥 당신을 위해 몇 가지 코드를 추가했다. 이 코드는 서버 감사, 선택된 활동에 대한 데이터베이스 감사를 만들고 마지막으로 sys.fn_get_audit_file을 사용하여 파일에서 정보를 검색합니다. 각 테이블마다 개별적으로 수행해야합니다. 좀 더 자동화 된 쿼리를 원할 경우 Apex SQL Audit 또는 다른 타사 도구와 같은 다른 도구를 사용할 수 있습니다.
나는 또한 SQL Server 2008 감사를 조사하고 있었지만 불행히도 현재 SQL Server 2005를 다루고 있습니다. 내가 dev에 서버 (2008)에서 프로덕션 서버 (2005)에 대한 링크를 만들고 감사를 사용할 수 있는지 궁금해. – Sung
또한 기업 전용입니다. – Oliver