

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 常見問答集
<a name="faq"></a>

本節提供有關在 Amazon RDS 和 Amazon EC2 上稽核 SQL Server 執行個體的常見問題解答。

## SQL Server 稽核功能的主要元件有哪些？
<a name="q1"></a>

SQL Server 稽核功能有三個主要元件：
+ **SQL Server Audit 物件**會定義路徑，以存放稽核資訊、稽核同步模式、稽核檔案輪換機制，以及在稽核失敗時要執行的動作。
+ **伺服器稽核規格**會追蹤並記錄在 SQL Server 執行個體層級執行的變更，以及 SQL Server 延伸事件功能引發的事件。
+ **資料庫稽核規格**會追蹤並記錄在資料庫層級執行的不同動作類型，以及 SQL Server 延伸事件功能所引發的事件。

## 我應該考慮稽核哪些關鍵事件？
<a name="q2"></a>

關鍵事件包括登入失敗、登入變更、使用者變更、結構描述變更和稽核變更。

## 為什麼稽核失敗的登入、登入變更和使用者變更很重要？
<a name="q3"></a>

例如，嘗試登入失敗次數過多或使用者許可變更可能表示攻擊正在進行中。

## 為什麼稽核結構描述變更很重要？
<a name="q4"></a>

我們建議您追蹤所有資料庫結構描述變更，以偵測任何未授權的變更。

## 為什麼稽核稽核系統很重要？
<a name="q5"></a>

稽核 SQL Server 稽核解決方案中的變更，可協助您擷取可能嘗試停用稽核程序以執行不合規或非法活動的未經授權使用者。此稽核也可透過提供涵蓋所有案例的證據，協助您滿足稽核人員對稽核解決方案日誌完整性的要求。此稽核的另一個簡單用途是提醒資料庫管理員在停用稽核以進行維護時重新啟用稽核。

## 如何使用觸發條件來稽核資料庫變更？
<a name="q6"></a>

您可以在包含關鍵資料的資料表上建立觸發條件，以記錄修改或插入的資料，並比較修改前後的資料。您可以使用 `INSTEAD OF`觸發條件來防止特定資料表的變更，並記錄失敗的動作。

## 使用 CDC 稽核資料庫變更有哪些優點和缺點？ 哪些版本支援 CDC？
<a name="q7"></a>

SQL Server 2016 及更新版本支援變更資料擷取 (CDC)。在舊版中，只有 Enterprise Edition 支援 CDC。

以下是使用 CDC 稽核資料庫變更的一些優點：
+ 您可以使用 CDC 作為非同步 SQL Server 稽核解決方案，以追蹤資料表上的資料處理語言 (DML) 操作。
+ CDC 會追蹤資料庫資料表上的 `INSERT``UPDATE`、 和 `DELETE`操作，並在鏡像資料表中記錄這些變更的詳細資訊。
+ CDC 取決於 SQL Server 交易日誌作為資料來源變更。
+ 您可以使用 Transact-SQL 命令輕鬆設定 CDC。

缺點：
+ CDC 不會自動處理已啟用 CDC 資料表上的資料定義語言 (DDL) 變更。它需要額外努力來反映追蹤資料表中的 DDL 變更。
+ CDC 不提供追蹤`SELECT`陳述式的選項。
+ SQL Server 只會將變更資料表中的 CDC 追蹤資料保留一段可設定的天數。
+ 除非 SQL Server 代理程式服務正在執行，否則 CDC 任務將無法運作。