Share via


SQL Server Audit 記錄

SQL Server Audit 功能可讓您稽核伺服器層級和資料庫層級的事件群組和事件。 如需詳細資訊,請參閱<SQL Server Audit (Database Engine)>。SQL Server。

稽核是由零或多個稽核動作項目所組成,這些項目會記錄到稽核「目標」(Target)。 稽核目標可以是二進位檔案、Windows 應用程式事件記錄檔或 Windows 安全性事件記錄檔。 傳送給目標的記錄包含下表所述的元素。

資料行名稱

說明

型別

永遠可使用

event_time

可稽核的動作引發時的日期/時間。

datetime2

sequence_no

追蹤單一稽核記錄中太長而無法納入稽核寫入緩衝區內的記錄順序。

int

action_id

動作的識別碼

提示提示

若要使用 action_id 做為述詞,您必須將它從字元字串轉換為數值。 如需詳細資訊,請參閱<針對 action_id / class_type 述詞篩選 SQL Server Audit>。

varchar(4)

succeeded

指示觸發此事件的動作是否成功

bit – 1 = 成功,0 = 失敗

permission_bitmask

當適用時,顯示已授與、拒絕或撤銷的權限

bigint

is_column_permission

指出資料行層級權限的旗標

bit – 1 = True,0 = False

session_id

事件發生所在之工作階段的識別碼。

int

server_principal_id

動作執行所在之登入環境的識別碼。

int

database_principal_id

動作執行所在之資料庫使用者環境的識別碼。

int

object_ id

稽核發生所在之實體的主要識別碼。 這包括:

  • 伺服器物件

  • 資料庫

  • 資料庫物件

  • 結構描述物件

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

稽核發生所在之實體的名稱。 這包括:

  • 伺服器物件

  • 資料庫

  • 資料庫物件

  • 結構描述物件

  • TSQL 陳述式 (如果有的話)

sysname

statement

TSQL 陳述式 (如果有的話)

nvarchar(4000)

additional_information

有關儲存為 XML 之事件的任何其他資訊。

nvarchar(4000)

備註

某些動作不會填入資料行的值,因為它可能不適用於此動作。

SQL Server Audit 會將字元欄位的 4000 個字元資料儲存在稽核記錄中。 當從可稽核的動作傳回的 additional_informationstatement 值傳回 4000 個以上的字元時,sequence_no 資料行會用來將多筆記錄寫入單一稽核動作的稽核報表中,以記錄這些資料。 此程序如下:

  • statement 資料行分成 4000 個字元。

  • SQL Server Audit 會寫成具有部分資料之稽核記錄的第一個資料列。 所有其他欄位會在每一個資料列中重複。

  • sequence_no 值會遞增。

  • 重複執行此程序,直到記錄所有資料為止。

您可以使用 sequence_no 值、event_Timeaction_idsession_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)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)