CREATE DATABASE AUDIT SPECIFICATION(Transact-SQL)

SQL Server 감사 기능을 사용하여 데이터베이스 감사 사양 개체를 만듭니다. 자세한 내용은 SQL Server Audit 이해를 참조하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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 ]
}

인수

  • audit_specification_name
    감사 사양의 이름입니다.

  • audit_name
    이 사양이 적용되는 감사의 이름입니다.

  • audit_action_specification
    감사에 기록되어야 하는 보안 개체에 대한 보안 주체의 동작 사양입니다.

  • action
    하나 이상의 데이터베이스 수준 감사 가능 동작의 이름입니다. 감사 동작 목록을 보려면 SQL Server Audit 동작 그룹 및 동작을 참조하십시오.

  • audit_action_group_name
    하나 이상의 데이터베이스 수준 감사 가능 동작 그룹의 이름입니다. 감사 동작 그룹의 목록은 SQL Server Audit 동작 그룹 및 동작을 참조하십시오.

  • class
    보안 개체의 클래스 이름(해당되는 경우)입니다.

  • securable
    감사 동작 또는 감사 동작 그룹을 적용할 데이터베이스의 테이블, 뷰 또는 기타 보안 개체입니다. 자세한 내용은 보안 개체를 참조하십시오.

  • principal
    감사 동작 또는 감사 동작 그룹을 적용할 SQL Server 보안 주체의 이름입니다. 자세한 내용은 보안 주체(데이터베이스 엔진)를 참조하십시오.

  • WITH ( STATE = { ON | OFF } )
    감사에서 이 감사 사양에 대한 레코드를 수집하거나 수집하지 못하도록 설정합니다.

주의

데이터베이스 감사 사양은 지정된 데이터베이스에 있는 비보안 개체입니다. 데이터베이스 감사 사양을 처음 만들 때는 사용할 수 없는 상태입니다.

SQL Server 감사의 데이터베이스 감사 사양 정보를 보려면 sys.database_ audit_specifications 카탈로그 뷰를 사용합니다.

사용자 데이터베이스에 데이터베이스 감사 사양을 만들거나 사양을 수정할 때 시스템 뷰와 같은 서버 범위 개체에 대한 감사 동작은 포함하지 마십시오. 서버 범위 개체를 포함하더라도 감사가 생성됩니다. 그러나 서버 범위 개체가 포함되지는 않으며 별도의 오류도 반환되지 않습니다. 서버 범위 개체를 감사하려면 master 데이터베이스의 데이터베이스 감사 사양을 사용합니다.

사용 권한

ALTER ANY DATABASE AUDIT 권한이 있는 사용자는 데이터베이스 감사 사양을 만들어 모든 감사에 바인딩할 수 있습니다.

생성된 데이터베이스 감사 사양은 CONTROL SERVER,ALTER ANY DATABASE AUDIT권한이 있는 보안 주체나 sysadmin 계정이 볼 수 있습니다.

다음 예에서는 Payrole_Security_Audit라는 서버 감사를 만들고 AdventureWorks 데이터베이스의 HumanResources.EmployeePayHistory 테이블에 대해 dbo 사용자의 SELECT 및 INSERT 문을 감사하는 Payrole_Security_Audit라는 데이터베이스 감사 사양을 만듭니다.

USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
    TO FILE ( FILEPATH = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit 
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks ;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT , INSERT
     ON HumanResources.EmployeePayHistory BY dbo )
WITH (STATE = ON) ;
GO

참고 항목

참조

개념