SQL Server 감사 기록
적용 대상:SQL Server
SQL Server 감사 기능을 사용하면 이벤트 및 이벤트의 서버 수준 및 데이터베이스 수준 그룹을 감사할 수 있습니다. 자세한 내용은 SQL Server Audit(데이터베이스 엔진)을 참조하세요. SQL Server.
감사는 감사 대상에 기록되는 0개 이상의 감사 작업 항목으로 구성됩니다. 감사 대상은 이진 파일, Windows 애플리케이션 이벤트 로그 또는 Windows 보안 이벤트 로그일 수 있습니다. 대상에 전달된 레코드에는 다음 표에 설명된 요소가 포함될 수 있습니다.
열 이름 | 설명 | Type | 항상 사용 가능 여부 |
---|---|---|---|
event_time | 감사 가능한 작업이 발생한 날짜/시간입니다. | datetime2 | 예 |
sequence_no | 너무 커서 감사에 대한 쓰기 버퍼에 맞지 않는 단일 감사 레코드 내의 레코드 시퀀스를 추적합니다. | int | 예 |
action_id | 동작의 ID입니다. 팁: action_id 조건자로 사용하려면 문자열에서 숫자 값으로 변환해야 합니다. 자세한 내용은 action_id/class_type 조건자에서 SQL Server 감사 필터링을 참조하세요. |
varchar(4) | 예 |
성공 | 감사 이벤트를 트리거하는 작업의 사용 권한 검사 성공 또는 실패 여부를 나타냅니다. | bit - 1 = 성공, 0 = 실패 |
예 |
permission_bitmask | 해당되는 경우 부여, 거부 또는 취소된 사용 권한을 표시합니다. | bigint | 아니요 |
is_column_permission | 열 수준 권한을 나타내는 플래그 | bit - 1 = True, 0 = False |
아니요 |
session_id | 이벤트가 발생한 세션의 ID입니다. | int | 예 |
server_principal_id | 동작을 수행한 로그인 컨텍스트의 ID입니다. | int | 예 |
database_principal_id | 작업이 수행되는 데이터베이스 사용자 컨텍스트의 ID입니다. | int | 아니요 |
object_id | 감사가 발생한 엔터티의 기본 ID입니다. 이 ID는 다음과 같습니다. 서버 개체 databases 데이터베이스 개체 스키마 개체 |
int | 아니요 |
target_server_principal_id | 감사 가능한 작업이 적용되는 서버 보안 주체입니다. | int | 예 |
target_database_principal_id | 감사 가능한 동작이 적용되는 데이터베이스 보안 주체입니다. | int | 아니요 |
class_type | 감사가 수행되는 감사 가능한 엔터티의 유형입니다. | varchar(2) | 예 |
session_server_principal_name | 세션의 서버 주체입니다. | sysname | 예 |
server_principal_name | 현재 로그인입니다. | sysname | 예 |
server_principal_sid | 현재 로그인 SID입니다. | varbinary | 예 |
database_principal_name | 현재 사용자입니다. | sysname | 아니요 |
target_server_principal_name | 작업의 대상 로그인입니다. | sysname | 아니요 |
target_server_principal_sid | 대상 로그인의 SID입니다. | varbinary | 아니요 |
target_database_principal_name | 작업의 대상 사용자입니다. | sysname | 아니요 |
server_instance_name | 감사가 발생한 서버 인스턴스의 이름입니다. 표준 machine\instance 형식을 사용합니다. | nvarchar(120) | 예 |
database_name | 작업이 발생한 데이터베이스 컨텍스트입니다. | sysname | 아니요 |
schema_name | 동작이 수행된 스키마 컨텍스트입니다. | sysname | 아니요 |
object_name | 감사가 수행된 대상 엔터티의 이름입니다. 이 이름은 다음이 될 수 있습니다. 서버 개체 databases 데이터베이스 개체 스키마 개체 Transact-SQL 문(있는 경우) |
sysname | 아니요 |
statement | TSQL 문(있는 경우) | nvarchar(4000) | 아니요 |
additional_information | XML로 저장된 이벤트에 대한 추가 정보입니다. | nvarchar(4000) | 아니요 |
설명
일부 작업은 작업에 적용되지 않을 수 있으므로 열 값을 채웁니까.
SQL Server Audit는 감사 레코드에 문자 필드에 대한 4000자의 데이터를 저장합니다. 감사 가능한 작업에서 반환된 additional_information 및 문 값이 4,000자 이상을 반환하는 경우 sequence_no 열을 사용하여 감사 보고서에 여러 레코드를 작성하여 단일 감사 작업을 수행하여 이 데이터를 기록합니다. 프로세스는 다음과 같습니다.
statement 열이 4000자씩 나누어집니다.
SQL Server Audit는 부분 데이터가 있는 감사 레코드의 첫 번째 행으로 씁니다. 다른 모든 필드는 각 행에 복제됩니다.
sequence_no 값이 증가합니다.
이 프로세스는 모든 데이터가 기록될 때까지 반복됩니다.
sequence_no 값을 사용하여 행을 순차적으로 읽고 event_Time, action_id 및 session_id 열을 사용하여 데이터를 연결하여 작업을 식별할 수 있습니다.
관련 내용
CREATE SERVER AUDIT(Transact-SQL)
ALTER SERVER AUDIT(Transact-SQL)
DROP SERVER AUDIT(Transact-SQL)
CREATE SERVER AUDIT SPECIFICATION(Transact-SQL)
ALTER SERVER AUDIT SPECIFICATION(Transact-SQL)
DROP SERVER AUDIT SPECIFICATION(Transact-SQL)
CREATE DATABASE AUDIT SPECIFICATION(Transact-SQL)
ALTER DATABASE AUDIT SPECIFICATION(Transact-SQL)
DROP DATABASE AUDIT SPECIFICATION(Transact-SQL)
ALTER AUTHORIZATION(Transact-SQL)
sys.fn_get_audit_file(Transact-SQL)
sys.server_audits(Transact-SQL)
sys.server_file_audits(Transact-SQL)
sys.server_audit_specifications(Transact-SQL)
sys.server_audit_specification_details(Transact-SQL)
sys.database_audit_specifications(Transact-SQL)
sys.database_audit_specification_details(Transact-SQL)
sys.dm_server_audit_status(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기