서버 감사 및 서버 감사 사양 만들기Create a Server Audit and Server Audit Specification

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에서 서버 감사 및 서버 감사 사양을 만드는 방법에 대해 설명합니다.This topic describes how to create a server audit and server audit specification in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 인스턴스 또는 데이터베이스 SQL ServerSQL Server 감사 SQL ServerSQL Server 에는 시스템에서 발생하는 추적 이벤트 및 로깅 이벤트가 포함됩니다.Auditing an instance of SQL ServerSQL Server or a SQL ServerSQL Server database involves tracking and logging events that occur on the system. SQL Server Audit 개체는 사용자가 모니터링하려는 서버 또는 데이터베이스 수준 동작 및 동작 그룹에 대한 하나의 인스턴스를 수집합니다.The SQL Server Audit object collects a single instance of server- or database-level actions and groups of actions to monitor. 감사는 SQL ServerSQL Server 인스턴스 수준으로 존재합니다.The audit is at the SQL ServerSQL Server instance level. SQL ServerSQL Server 인스턴스별로 여러 개의 감사를 가질 수 있습니다.You can have multiple audits per SQL ServerSQL Server instance. 서버 감사 사양 개체는 감사에 속해 있습니다.The Server Audit Specification object belongs to an audit. 서버 감사 사양과 감사는 모두 SQL ServerSQL Server 인스턴스 범위에서 생성되므로 감사당 하나의 서버 감사 사양을 만들 수 있습니다.You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope. 자세한 내용은 SQL Server Audit(데이터베이스 엔진)을 참조하세요.For more information, see SQL Server Audit (Database Engine).

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

  • 감사가 있어야 이에 대한 서버 감사 사양을 만들 수 있습니다.An audit must exist before creating a server audit specification for it. 서버 감사 사양을 처음 만들 때는 사용할 수 없는 상태입니다.When a server audit specification is created, it is in a disabled state.

  • CREATE SERVER AUDIT 문은 트랜잭션 범위 내에 있습니다.The CREATE SERVER AUDIT statement is in a transaction's scope. 트랜잭션이 롤백되면 이 문도 롤백됩니다.If the transaction is rolled back, the statement is also rolled back.

보안 Security

사용 권한 Permissions

  • 서버 감사를 생성, 변경 또는 삭제하려면 보안 주체에게 ALTER ANY SERVER AUDIT 또는 CONTROL SERVER 권한이 있어야 합니다.To create, alter, or drop a server audit, principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission.

  • ALTER ANY SERVER AUDIT 권한이 있는 사용자는 서버 감사 사양을 만들어 모든 감사에 바인딩할 수 있습니다.Users with the ALTER ANY SERVER AUDIT permission can create server audit specifications and bind them to any audit.

  • 만들어진 서버 감사 사양은 CONTROL SERVER 또는 ALTER ANY SERVER AUDIT 권한이 있는 보안 주체, sysadmin 계정 또는 감사에 대한 명시적인 액세스가 있는 보안 주체가 볼 수 있습니다.After a server audit specification is created, it can be viewed by principals with the CONTROL SERVER or ALTER ANY SERVER AUDIT permissions, the sysadmin account, or principals having explicit access to the audit.

SQL Server Management Studio 사용 Using SQL Server Management Studio

서버 감사를 만들려면To create a server audit

  1. 개체 탐색기에서 보안 폴더를 확장합니다.In Object Explorer, expand the Security folder.

  2. 감사 폴더를 마우스 오른쪽 단추로 클릭하고 새 감사...를 선택합니다.Right-click the Audits folder and select New Audit….

    감사 만들기 대화 상자의 일반 페이지에는 다음과 같은 옵션이 제공됩니다.The following options are available on the General page of the Create Audit dialog box.

    감사 이름Audit name
    감사의 이름입니다.The name of the audit. 이는 새 감사를 만들 때 자동으로 생성되지만 편집할 수 있습니다.This is generated automatically when you create a new audit but is editable.

    큐 지연(밀리초)Queue delay (in milliseconds)
    감사 동작이 강제 처리되기 전까지 허용되는 시간(밀리초)을 지정합니다.Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. 값이 0인 경우 동기 배달을 나타냅니다.A value of 0 indicates synchronous delivery. 기본 최소값은 1000 (1초)입니다.The default minimum value is 1000 (1 second). 최대값은 2,147,483,647로 2,147,483.647초 또는 24일, 20시간, 31분, 23.647초에 해당합니다.The maximum is 2,147,483,647 (2,147,483.647 seconds or 24 days, 20 hours, 31 minutes, 23.647 seconds).

    감사 로그 실패 시:On Audit Log Failure:
    계속 Continue
    SQL ServerSQL Server 작업을 계속합니다. SQL ServerSQL Server operations continue. 감사 레코드는 보존되지 않습니다.Audit records are not retained. 감사는 계속해서 이벤트 기록을 시도하며 실패 조건이 해결되면 재개됩니다.The audit continues to attempt to log events and will resume if the failure condition is resolved. 계속 옵션을 선택하면 감사되지 않는 작업이 허용되어 보안 정책을 위반할 수 있습니다.Selecting the Continue option can allow unaudited activity which could violate your security policies. 전체 감사를 유지 관리하는 것보다 데이터베이스 엔진Database Engine 의 작업을 계속하는 것이 더 중요하면 이 옵션을 선택하세요.Select this option when continuing operation of the 데이터베이스 엔진Database Engine is more important than maintaining a complete audit. 이 옵션이 기본 옵션입니다.This is the default selection.

    서버 종료Shut down server
    대상에 쓰기 작업을 수행하는 서버 인스턴스가 감사 대상에 데이터를 쓰지 못할 경우 서버를 강제 종료합니다.Forces a server shut down when the server instance writing to the target cannot write data to the audit target. 이 함수를 실행하는 로그인에는 SHUTDOWN 권한이 있어야 합니다.The login issuing this must have the SHUTDOWN permission. 이 권한이 없으면 이 함수가 실패하고 오류 메시지가 표시됩니다.If the logon does not have this permission, this function will fail and an error message will be raised. 감사된 이벤트가 발생하지 않습니다.No audited events occur. 감사 실패로 인해 시스템 무결성 또는 보안이 손상될 수 있는 경우 이 옵션을 선택하세요.Select this option when an audit failure could compromise the security or integrity of the system.

    작업 실패Fail operation
    SQL ServerSQL Server 감사에서 감사 로그에 쓸 수 없는 경우 이 옵션을 선택하면 정상적인 경우에는 감사된 이벤트를 발생시키는 데이터베이스 동작이 실패하며,In cases where the SQL ServerSQL Server Audit cannot write to the audit log this option causes database actions to fail if they would otherwise cause audited events. 감사된 이벤트가 발생하지 않습니다.No audited events occur. 감사된 이벤트를 발생시키지 않는 동작은 계속할 수 있습니다.Actions which do not cause audited events can continue. 감사는 계속해서 이벤트 기록을 시도하며 실패 조건이 해결되면 재개됩니다.The audit continues to attempt to log events and will resume if the failure condition is resolved. 데이터베이스 엔진Database Engine에 대한 모든 권한을 얻는 것보다 전체 감사를 유지 관리하는 것이 더 중요하면 이 옵션을 선택하십시오.Select this option when maintaining a complete audit is more important than full access to the 데이터베이스 엔진Database Engine.

    중요

    감사가 실패한 상태여도 관리자 전용 연결에서는 감사된 이벤트를 계속 수행할 수 있습니다.When the audit is in a failed state, the Dedicated Administrator Connection can continue to perform audited events.

    감사 대상 목록Audit destination list
    데이터를 감사할 대상을 지정합니다.Specifies the target for auditing data. 이진 파일, Windows 응용 프로그램 로그, Windows 보안 로그 등이 감사 대상이 될 수 있습니다.The available options are a binary file, the Windows Application log, or the Windows Security log. SQL ServerSQL Server 가 Windows 보안 로그에 쓸 수 없습니다. cannot write to the Windows Security log without configuring additional settings in Windows. 자세한 내용은 보안 로그에 SQL Server Audit 이벤트 쓰기를 참조하세요.For more information, see Write SQL Server Audit Events to the Security Log.

    파일 경로File path
    감사 대상 이 파일인 경우 감사 데이터를 쓸 폴더의 위치를 지정합니다.Specifies the location of the folder where audit data is written when the Audit destination is a file.

    줄임표(...)Ellipsis (…)
    폴더 찾기 –server_name 대화 상자를 열어 파일 경로를 지정하거나 감사 파일이 기록된 폴더를 만듭니다.Opens the Locate Folder –server_name dialog box to specify a file path or create a folder where the audit file is written.

    감사 파일의 최대 제한:Audit File Maximum Limit:
    최대 롤오버 파일 Maximum rollover files
    감사 파일의 최대 수에 도달하면 가장 오래된 감사 파일을 새 파일 내용으로 덮어쓰도록 지정합니다.Specifies that, when the maximum number of audit files is reached, the oldest audit files are overwritten by new file content.

    최대 파일Maximum files
    최대 감사 파일 수에 도달하면 추가 감사 이벤트를 생성하는 동작이 실패하며 오류가 발생하도록 지정합니다.Specifies that, when the maximum number of audit files is reached, any action that causes additional audit events to be generated will fail with an error.

    무제한 확인란Unlimited check box
    최대 롤오버 파일 아래의 무제한 확인란이 선택된 경우 만들려는 감사 파일 수에 대한 제한이 없습니다.When the Unlimited check box under Maximum rollover files is selected, there is no limit imposed on the number of audit files that will be created. 무제한 확인란은 기본적으로 선택되며 최대 롤오버 파일최대 파일 선택 사항에 모두 적용됩니다.The Unlimited check box is selected by default and applies to both the Maximum rollover files and Maximum files selections.

    파일 수 상자Number of files box
    만들려는 감사 파일 수를 최대 2,147,483,647까지 지정합니다.Specifies the number of audit files to be created, up to 2,147,483,647. 이 옵션은 무제한 을 선택 취소한 경우에만 사용할 수 있습니다.This option is only available if Unlimited is unchecked.

    최대 파일 크기Maximum file size
    MB(메가바이트), GB(기가바이트) 또는 TB(테라바이트) 단위로 감사 파일의 최대 크기를 지정합니다.Specifies the maximum size for an audit file in either megabytes (MB), gigabytes (GB), or terabytes (TB). 1,024MB와 2,147,483,647TB 사이로 지정할 수 있습니다.You can specify between 1024 MB and 2,147,483,647 TB. 무제한 확인란을 선택하면 파일 크기에 대한 제한이 없습니다.Selecting the Unlimited check box does not place a limit on the size of the file. 1024MB보다 작은 값을 지정하면 오류가 반환됩니다.Specifying a value lower than 1024 MB will fail, returning an error. 무제한 확인란은 기본적으로 선택됩니다.The Unlimited check box is selected by default.

    디스크 공간 예약 확인란Reserve disk space check box
    지정된 최대 파일 크기와 동일한 공간이 디스크에 미리 할당되도록 지정합니다.Specifies that space is pre-allocated on the disk equal to the specified maximum file size. 이 설정은 최대 파일 크기 아래에서 무제한 을 선택하지 않은 경우에만 사용할 수 있습니다.This setting can only be used if the Unlimited check box under Maximum file size is not selected. 이 확인란은 기본적으로 선택되지 않습니다.This check box is not selected by default.

  3. 또는 필터 페이지에서 조건자를 입력하거나 WHERE 절을 서버 감사에 입력하여 일반 페이지에서 사용할 수 없는 추가 옵션을 지정할 수 있습니다.Optionally, on the Filter page, enter a predicate, or WHERE clause, to the server audit to specify additional options not available from the General page. 조건자를 괄호로 묶습니다. 예: (object_name = 'EmployeesTable')Enclose the predicate in parentheses; for example: (object_name = 'EmployeesTable').

  4. 옵션 선택을 마쳤으면 확인을 클릭합니다.When you are finished selecting options, click OK.

서버 감사 사양을 만들려면To create a server audit specification

  1. 개체 탐색기에서 더하기 기호를 클릭하여 보안 폴더를 확장합니다.In Object Explorer, click the plus sign to expand the Security folder.

  2. 서버 감사 사양 폴더를 마우스 오른쪽 단추로 클릭하고 새 서버 감사 사양...을 선택합니다.Right-click the Server Audit Specifications folder and select New Server Audit Specification….

    서버 감사 사양 만들기 대화 상자에는 다음과 같은 옵션이 제공됩니다.The following options are available on the Create Server Audit Specification dialog box.

    이름Name
    서버 감사 사양의 이름입니다.The name of the server audit specification. 새 서버 감사 사양을 만들 때 자동 생성되지만 편집할 수 있습니다.This is generated automatically when you create a new server audit specification but is editable.

    감사Audit
    기존 서버 감사의 이름입니다.The name of an existing server audit. 감사 이름을 입력하거나 목록에서 선택합니다.Either type in the name of the audit or select it from the list.

    감사 동작 유형Audit Action Type
    캡처할 서버 수준 감사 동작 그룹 및 감사 동작을 지정합니다.Specifies the server-level audit action groups and audit actions to capture. 서버 수준 감사 동작 그룹 및 감사 동작의 목록과 여기에 포함된 이벤트에 대한 설명은 SQL Server Audit 동작 그룹 및 동작을 참조하세요.For the list of server-level audit action groups and audit actions and a description of the events they contain, see SQL Server Audit Action Groups and Actions.

    개체 스키마Object Schema
    지정된 개체 이름에 대한 스키마를 표시합니다.Displays the schema for the specified Object Name.

    개체 이름Object Name
    감사할 개체의 이름입니다.The name of the object to audit. 이 이름은 감사 동작에만 사용할 수 있으며 감사 그룹에는 적용되지 않습니다.This is only available for audit actions; it does not apply to audit groups.

    줄임표(...)Ellipsis (…)
    개체 선택 대화 상자를 열고 지정된 감사 동작 유형에 따라 사용 가능한 개체를 찾아 선택합니다.Opens the Select Objects dialog to browse for and select an available object, based on the specified Audit Action Type.

    보안 주체 이름Principal Name
    감사 중인 개체에 대한 감사 필터링의 기준이 되는 계정입니다.The account to filter the audit by for the object being audited.

    줄임표(...)Ellipsis (…)
    개체 선택 대화 상자를 열고 지정된 개체 이름에 따라 사용 가능한 개체를 찾아 선택합니다.Opens the Select Objects dialog to browse for and select an available object, based on the specified Object Name.

  3. 작업이 완료되면 확인을 클릭합니다.When you are finished, click OK.

Transact-SQL 사용 Using Transact-SQL

서버 감사를 만들려면To create a server audit

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- Creates a server audit called "HIPPA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );  
    

서버 감사 사양을 만들려면To create a server audit specification

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    /*Creates a server audit specification called "HIPPA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPPA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPPA_Audit_Specification  
    FOR SERVER AUDIT HIPPA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

    자세한 내용은 CREATE SERVER AUDIT(Transact-SQL)CREATE SERVER AUDIT SPECIFICATION(Transact-SQL)을 참조하세요.For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).