ALTER SERVER AUDIT (Transact SQL)ALTER SERVER AUDIT (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2012부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server Audit 기능을 사용하여 서버 감사 개체를 변경합니다.Alters a server audit object using the SQL ServerSQL Server Audit feature. 자세한 내용은 SQL Server Audit(데이터베이스 엔진)을 참조하세요.For more information, see SQL Server Audit (Database Engine).

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

ALTER SERVER AUDIT audit_name  
{  
    [ TO { { FILE ( <file_options> [, ...n] ) } | APPLICATION_LOG | SECURITY_LOG } ]  
    [ WITH ( <audit_options> [ , ...n] ) ]   
    [ WHERE <predicate_expression> ]  
}  
| REMOVE WHERE  
| MODIFY NAME = new_audit_name  
[ ; ]  

<file_options>::=  
{  
      FILEPATH = 'os_file_path'   
    | MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }   
    | MAX_ROLLOVER_FILES = { integer | UNLIMITED }   
    | MAX_FILES = integer   
    | RESERVE_DISK_SPACE = { ON | OFF }   
}  

<audit_options>::=  
{  
      QUEUE_DELAY = integer   
    | ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }   
    | STATE = = { ON | OFF }   
}  

<predicate_expression>::=  
{  
    [NOT ] <predicate_factor>   
    [ { AND | OR } [NOT ] { <predicate_factor> } ]   
    [,...n ]  
}  

<predicate_factor>::=   
    event_field_name { = | < > | ! = | > | > = | < | < = } { number | ' string ' }  

인수Arguments

TO { FILE | APPLICATION_LOG | SECURITY }TO { FILE | APPLICATION_LOG | SECURITY }
감사 대상의 위치를 결정합니다.Determines the location of the audit target. 이 옵션은 이진 파일, Windows 응용 프로그램 로그 또는 Windows 보안 로그가 될 수 있습니다.The options are a binary file, the Windows application log, or the Windows security log.

FILEPATH = 'os_file_path'FILEPATH = 'os_file_path'
감사 내역의 경로입니다.The path of the audit trail. 파일 이름은 감사 이름과 감사 GUID를 기준으로 생성됩니다.The file name is generated based on the audit name and audit GUID.

MAXSIZE = max_sizeMAXSIZE =max_size
감사 파일이 증가할 수 있는 최대 크기를 지정합니다.Specifies the maximum size to which the audit file can grow. max_size 값 이어서 정수 여야 합니다. MB, GB, TB, 또는 무제한합니다.The max_size value must be an integer followed by MB, GB, TB, or UNLIMITED. 에 지정할 수 있는 최소 크기 max_size 2 MB 이 고 최대값은 2147483647 TB합니다.The minimum size that you can specify for max_size is 2 MB and the maximum is 2,147,483,647 TB. 무제한 지정, 디스크가 꽉 찰 때까지 파일이 증가 합니다.When UNLIMITED is specified, the file grows until the disk is full. 2MB 보다 작은 값을 지정 MSG_MAXSIZE_TOO_SMALL 오류가 발생 합니다.Specifying a value lower than 2 MB raises MSG_MAXSIZE_TOO_SMALL the error. 기본값은 무제한합니다.The default value is UNLIMITED.

MAX_ROLLOVER_FILES = 정수 | 제한 없음MAX_ROLLOVER_FILES =integer | UNLIMITED
파일 시스템에 보관할 최대 파일 수를 지정합니다.Specifies the maximum number of files to retain in the file system. 경우 MAX_ROLLOVER_FILES 설정 = 0, 만든 롤오버 파일 수에 제한이 없습니다.When the setting of MAX_ROLLOVER_FILES=0, there is no limit imposed on the number of rollover files that are created. 기본값은 0입니다.The default value is 0. 지정할 수 있는 최대 파일 수는 2,147,483,647입니다.The maximum number of files that can be specified is 2,147,483,647.

MAX_FILES =정수MAX_FILES =integer
만들 수 있는 최대 감사 파일 수를 지정합니다.Specifies the maximum number of audit files that can be created. 롤백하지 않습니다을 통해 첫 번째 파일에는 한도 도달 합니다.Does not roll over to the first file when the limit is reached. MAX_FILES 제한에 도달 하면 추가 감사 이벤트를 생성 하는 모든 작업 오류와 함께 실패 합니다.When the MAX_FILES limit is reached, any action that causes additional audit events to be generated fails with an error.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

RESERVE_DISK_SPACE = {ON | OFF}RESERVE_DISK_SPACE = { ON | OFF }
이 옵션은 디스크의 파일을 MAXSIZE 값으로 미리 할당하며,This option pre-allocates the file on the disk to the MAXSIZE value. MAXSIZE가 UNLIMITED가 아닌 경우에만 적용됩니다.Only applies if MAXSIZE is not equal to UNLIMITED. 기본값은 OFF입니다.The default value is OFF.

QUEUE_DELAY = 정수QUEUE_DELAY =integer
감사 동작이 강제 처리되기 전까지 허용되는 시간(밀리초)을 지정합니다.Determines the 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 minimum settable query delay value is 1000 (1 second), which is the default. 최대값은 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). 잘못 된 수를 지정 하 MSG_INVALID_QUEUE_DELAY 오류가 발생 했습니다.Specifying an invalid number, raises the error MSG_INVALID_QUEUE_DELAY.

ON_FAILURE = {계속 | 종료 | FAIL_OPERATION}ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION}
SQL ServerSQL Server에서 감사 로그에 쓸 수 없는 경우 대상에 쓰기 작업을 수행하는 인스턴스가 실패하는지, 계속되는지 또는 중지되는지를 나타냅니다.Indicates whether the instance writing to the target should fail, continue, or stop if SQL ServerSQL Server cannot write to the audit log.

CONTINUECONTINUE
SQL ServerSQL Server 작업을 계속합니다. operations continue. 감사 레코드는 보존되지 않습니다.Audit records are not retained. 감사 실패 조건이 해결 되 면 로그 이벤트 및 다시 시작 하려고 계속 합니다.The audit continues to attempt to log events and resumes if the failure condition is resolved. 계속 하기 옵션을 선택 하면 작업이 허용 누구나 감사 되지 않는, 보안 정책을 위반할 수 있습니다.Selecting the continue option can allow unaudited activity, which could violate your security policies. 전체 감사를 유지 관리하는 것보다 데이터베이스 엔진Database Engine의 작업을 계속하는 것이 더 중요하면 이 옵션을 사용하십시오.Use this option, when continuing operation of the 데이터베이스 엔진Database Engine is more important than maintaining a complete audit.

SHUTDOWNSHUTDOWN
인스턴스를 강제로 SQL ServerSQL Server 종료 if SQL ServerSQL Server 어떤 이유로 든 감사 대상에 데이터를 쓰지 못한 합니다.Forces the instance of SQL ServerSQL Server to shut down, if SQL ServerSQL Server fails to write data to the audit target for any reason. 실행 중인 로그인은 ALTER 문에 있어야는 SHUTDOWN 내에서 권한 SQL ServerSQL Server합니다.The login executing the ALTER statement must have the SHUTDOWN permission within SQL ServerSQL Server. 종료 문제가 계속 되 면 경우에는 SHUTDOWN 권한이 실행 중인 로그인에서 나중에 취소 됩니다.The shutdown behavior persists even if the SHUTDOWN permission is later revoked from the executing login. 그런 다음이 권한이 없으면 문이 실패 합니다 고 감사 수정 되지 않습니다.If the user does not have this permission, then the statement will fail and the audit will not be modified. 감사 실패로 인해 시스템 무결성 또는 보안이 손상될 수 있는 경우 이 옵션을 사용하십시오.Use the option when an audit failure could compromise the security or integrity of the system. 자세한 내용은 참조 종료합니다.For more information, see SHUTDOWN.

FAIL_OPERATIONFAIL_OPERATION
감사된 이벤트를 발생시키는 데이터베이스 동작이 실패합니다.Database actions fail if they cause audited events. 감사 된 이벤트를 발생 시 키 지 않는 작업을 계속할 수 있지만 감사 된 이벤트가 발생할 수 있습니다.Actions, which do not cause audited events can continue, but no audited events can occur. 감사 실패 조건이 해결 되 면 로그 이벤트 및 다시 시작 하려고 계속 합니다.The audit continues to attempt to log events and resumes if the failure condition is resolved. 데이터베이스 엔진Database Engine에 대한 모든 권한을 얻는 것보다 전체 감사를 유지 관리하는 것이 더 중요하면 이 옵션을 사용하십시오.Use this option when maintaining a complete audit is more important than full access to the 데이터베이스 엔진Database Engine.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

상태 = {ON | OFF}STATE = { ON | OFF }
레코드 수집에서 감사를 설정하거나 해제합니다.Enables or disables the audit from collecting records. 실행 중인 감사의 상태를 ON에서 OFF로 변경하면 감사가 중지되었다는 감사 항목, 감사를 중지한 보안 주체 및 감사가 중지된 시간이 생성됩니다.Changing the state of a running audit (from ON to OFF) creates an audit entry that the audit was stopped, the principal that stopped the audit, and the time the audit was stopped.

MODIFY NAME = new_audit_nameMODIFY NAME = new_audit_name
감사 이름을 변경합니다.Changes the name of the audit. 다른 옵션과 함께 사용할 수 없습니다.Cannot be used with any other option.

predicate_expressionpredicate_expression
이벤트 처리 여부를 확인하는 데 사용할 조건자 식을 지정합니다.Specifies the predicate expression used to determine if an event should be processed or not. 조건자 식은 3000자로 제한되며 문자열 인수를 제한합니다.Predicate expressions are limited to 3000 characters, which limits string arguments.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

event_field_nameevent_field_name
조건자 원본을 식별하는 이벤트 필드의 이름입니다.Is the name of the event field that identifies the predicate source. 감사 필드에 설명 된 sys.fn_get_audit_file( Transact SQL ) .Audit fields are described in sys.fn_get_audit_file (Transact-SQL). file_nameaudit_file_offset을 제외한 모든 필드를 감사할 수 있습니다.All fields can be audited except file_name and audit_file_offset.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

numbernumber
임의의 숫자 형식을 포함 한 10 진수합니다.Is any numeric type including decimal. 단, 사용 가능한 실제 메모리가 부족한 경우나 값이 너무 커서 64비트 정수로 표현할 수 없는 숫자는 제외됩니다.Limitations are the lack of available physical memory or a number that is too large to be represented as a 64-bit integer.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

' string '' string '
조건자 비교에 필요한 ANSI 또는 유니코드 문자열입니다.Either an ANSI or Unicode string as required by the predicate compare. 조건자 비교 함수에 대해서는 암시적 문자열 유형 변환이 수행되지 않습니다.No implicit string type conversion is performed for the predicate compare functions. 잘못된 유형을 전달하면 오류가 발생합니다.Passing the wrong type results in an error.
적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.

주의Remarks

ALTER AUDIT를 호출할 때는 TO, WITH 또는 MODIFY NAME 절 중 하나 이상을 지정해야 합니다.You must specify at least one of the TO, WITH, or MODIFY NAME clauses when you call ALTER AUDIT.

감사를 변경하려면 감사 상태를 OFF 옵션으로 설정해야 합니다.You must set the state of an audit to the OFF option in order to make changes to an audit. ALTER AUDIT를 실행 상태를 제외한 다른 옵션과 함께 사용 하는 감사 = OFF 이면 MSG_NEED_AUDIT_DISABLED 오류 메시지가 나타납니다.If ALTER AUDIT is run when an audit is enabled with any options other than STATE=OFF, you receive a MSG_NEED_AUDIT_DISABLED error message.

감사를 중지하지 않고 감사 사양을 추가, 변경 및 제거할 수 있습니다.You can add, alter, and remove audit specifications without stopping an audit.

감사를 만든 후에는 감사의 GUID를 변경할 수 없습니다.You cannot change an audit’s GUID after the audit has been created.

PermissionsPermissions

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

Examples

1.A. 서버 감사 이름 변경Changing a server audit name

다음 예에서는 서버 감사 이름 HIPPA_AuditHIPAA_Audit_Old로 변경합니다.The following example changes the name of the server audit HIPPA_Audit to HIPAA_Audit_Old.

USE master  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = OFF);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
MODIFY NAME = HIPAA_Audit_Old;  
GO  
ALTER SERVER AUDIT HIPAA_Audit_Old  
WITH (STATE = ON);  
GO  

2.B. 서버 감사 대상 변경Changing a server audit target

다음 예에서는 HIPPA_Audit라는 서버 감사를 파일 대상으로 변경합니다.The following example changes the server audit called HIPPA_Audit to a file target.

USE master  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = OFF);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',  
          MAXSIZE = 1000 MB,  
          RESERVE_DISK_SPACE=OFF)  
WITH (QUEUE_DELAY = 1000,  
       ON_FAILURE = CONTINUE);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = ON);  
GO  

3.C. 서버 감사 WHERE 절 변경Changing a server audit WHERE clause

다음 예에서는 수정 where 절의 예 C에서에서 만든 CREATE SERVER audit( Transact SQL ) .The following example modifies the where clause created in example C of CREATE SERVER AUDIT (Transact-SQL). 새 WHERE 절은 27의 경우 사용자 정의 이벤트에 대 한 필터링 합니다.The new WHERE clause filters for the user-defined event if of 27.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
WHERE user_defined_event_id = 27;  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);  
GO  

4.D. WHERE 절 제거Removing a WHERE clause

다음 예에서는 WHERE 절 조건자 식을 제거합니다.The following example removes a WHERE clause predicate expression.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
REMOVE WHERE;  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);  
GO  

5.E. 서버 감사 이름 바꾸기Renaming a server audit

다음 예에서는 서버 감사 이름을 FilterForSensitiveData에서 AuditDataAccess로 변경합니다.The following example changes the server audit name from FilterForSensitiveData to AuditDataAccess.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
MODIFY NAME = AuditDataAccess;  
GO  
ALTER SERVER AUDIT [AuditDataAccess] WITH (STATE = ON);  
GO  

관련 항목:See Also

DROP SERVER audit( Transact SQL ) DROP SERVER AUDIT (Transact-SQL)
SERVER AUDIT specification( 만들기 Transact SQL ) CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
ALTER SERVER AUDIT specification( Transact SQL ) ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
DROP SERVER AUDIT specification( Transact SQL ) DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
DATABASE AUDIT specification( 만들기 Transact SQL ) CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER DATABASE AUDIT specification( Transact SQL ) ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
DROP DATABASE AUDIT specification( Transact SQL ) DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER authorization( Transact SQL ) ALTER AUTHORIZATION (Transact-SQL)
sys.fn_get_audit_file( Transact SQL ) sys.fn_get_audit_file (Transact-SQL)
sys.server_audits( Transact SQL ) sys.server_audits (Transact-SQL)
sys.server_file_audits( Transact SQL ) sys.server_file_audits (Transact-SQL)
sys.server_audit_specifications( Transact SQL ) sys.server_audit_specifications (Transact-SQL)
sys.server_audit_specification_details( Transact SQL ) sys.server_audit_specification_details (Transact-SQL)
sys.database_audit_specifications( Transact SQL ) sys.database_audit_specifications (Transact-SQL)
sys.database_audit_specification_details( Transact SQL ) sys.database_audit_specification_details (Transact-SQL)
sys.dm_server_audit_status( Transact SQL ) sys.dm_server_audit_status (Transact-SQL)
sys.dm_audit_actions( Transact SQL ) sys.dm_audit_actions (Transact-SQL)
서버 감사 및 서버 감사 사양 만들기Create a Server Audit and Server Audit Specification