SQL Server Audit 記錄
SQL Server Audit 功能可讓您稽核伺服器層級和資料庫層級的事件群組和事件。 如需詳細資訊,請參閱<SQL Server Audit (Database Engine)>。SQL Server。
稽核是由零或多個稽核動作項目所組成,這些項目會記錄到稽核「目標」(Target)。 稽核目標可以是二進位檔案、Windows 應用程式事件記錄檔或 Windows 安全性事件記錄檔。 傳送給目標的記錄包含下表所述的元素。
資料行名稱 |
說明 |
型別 |
永遠可使用 |
||
---|---|---|---|---|---|
event_time |
可稽核的動作引發時的日期/時間。 |
datetime2 |
是 |
||
sequence_no |
追蹤單一稽核記錄中太長而無法納入稽核寫入緩衝區內的記錄順序。 |
int |
是 |
||
action_id |
動作的識別碼
|
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 |
稽核發生所在之實體的名稱。 這包括:
|
sysname |
否 |
||
statement |
TSQL 陳述式 (如果有的話) |
nvarchar(4000) |
否 |
||
additional_information |
有關儲存為 XML 之事件的任何其他資訊。 |
nvarchar(4000) |
否 |
備註
某些動作不會填入資料行的值,因為它可能不適用於此動作。
SQL Server Audit 會將字元欄位的 4000 個字元資料儲存在稽核記錄中。 當從可稽核的動作傳回的 additional_information 和 statement 值傳回 4000 個以上的字元時,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)