共用方式為


SQL Server Audit 記錄

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

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

資料行名稱

描述

類型

永遠可使用

event_time

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

datetime2

sequence_no

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

int

action_id

動作的識別碼

char(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

稽核發生所在之可稽核的實體類型。

char(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 資料行按順序讀取資料列來識別此動作,以便連接資料。

請參閱

參考

概念