分享方式:


SQL Server Audit 記錄

適用於:SQL Server

SQL Server 的 Audit 功能可讓您稽核伺服器層級和資料庫層級的事件群組和事件。 如需詳細資訊,請參閱 SQL Server 稽核 (資料庫引擎)。 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 稽核發生所在之實體的名稱。 此名稱可以是:

伺服器物件

資料庫

資料庫物件

結構描述物件

Transact-SQL 陳述式 (如果有的話)
sysname
陳述式 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)