適用於:Azure SQL 資料庫
Azure Synapse Analytics
Azure SQL Database 的稽核 和 Azure Synapse Analytics 追蹤資料庫事件,並將其寫入 Azure 儲存體帳戶、Log Analytics 工作區或事件中樞中的稽核記錄。
稽核亦:
協助您維護合規性、了解資料庫活動,以及獲取可能指出業務疑慮或可疑安全性違規之不一致及異常的見解。
啟用並協助遵從標準,但不保證合規。 如需詳細資訊,請參閱 Microsoft Azure 信任中心,您可以在當中找到 SQL Database 合規性認證的最新清單。
注意
如需 Azure SQL 受控執行個體稽核的相關資訊,請參閱開始使用 Azure SQL 受控執行個體稽核。
概觀
您可以使用 SQL 資料庫稽核來:
- 保留 所選事件的稽核記錄。 您可以定義要稽核的資料庫動作類別。
- 資料庫活動的報告。 您可以使用預先設定的報告和儀表板,以便快速開始使用活動和事件報告。
- 分析 報告。 您可以尋找可疑事件、異常活動及趨勢。
重要
Azure SQL 資料庫、Azure Synapse Analytics SQL 集區和 Azure SQL 受控執行個體稽核已針對待稽核資料庫或執行個體的可用性和效能最佳化。 在活動率或網路負載非常高的期間,稽核功能可能會允許交易繼續進行,而不需要記錄標示為稽核的所有事件。
Azure SQL Database 伺服器稽核中效能、可用性和可靠性的增強功能(2025 年 7 月 GA)
- 重新架構 SQL 稽核的主要部分,導致伺服器稽核的可用性和可靠性增加。 作為額外的好處,SQL Server 與 Azure SQL 受控實例的功能更加緊密地對齊。 資料庫稽核保持不變。
- 先前的稽核設計會觸發資料庫層級稽核,並針對伺服器中的每個資料庫執行一個稽核會話。 新的稽核架構會在伺服器層級建立一個擴充事件會話,以擷取所有資料庫的稽核事件。
- 新的稽核設計會將記憶體和CPU優化,而且與稽核在SQL Server和 Azure SQL 受控實例中的運作方式一致。
伺服器稽核重新架構的變更
- 記憶體帳戶的資料夾結構變更:
- 其中一個主要變更牽涉到儲存在記憶體帳戶容器中的稽核記錄的資料夾結構變更。 先前,伺服器稽核記錄會寫入至不同的資料夾;每個資料庫的其中一個,其中資料庫名稱會做為資料夾名稱。 透過新的更新,所有伺服器稽核記錄都會合併成標示為
master的單一資料夾。 此行為與 Azure SQL 受控實例和 SQL Server 相同。
- 其中一個主要變更牽涉到儲存在記憶體帳戶容器中的稽核記錄的資料夾結構變更。 先前,伺服器稽核記錄會寫入至不同的資料夾;每個資料庫的其中一個,其中資料庫名稱會做為資料夾名稱。 透過新的更新,所有伺服器稽核記錄都會合併成標示為
- 唯讀複本的資料夾結構變更:
- 唯讀資料庫複本先前已將其記錄儲存在唯讀資料夾中。 這些記錄現在會寫入
master資料夾中。 您可以篩選新的資料行is_secondary_replica_true來擷取這些記錄。
- 唯讀資料庫複本先前已將其記錄儲存在唯讀資料夾中。 這些記錄現在會寫入
- 檢視稽核記錄所需的許可權:
-
VIEW DATABASE SECURITY AUDIT使用者資料庫中的權限
-
稽核限制
不支援在已暫停的 Azure Synapse SQL 集區啟用稽核功能。 啟用稽核,請恢復Synapse SQL 集區。
Azure Synapse 不支援使用使用者指派的受控識別 (UAMI) 啟用稽核。
目前,除非儲存體帳戶位於虛擬網路或防火牆後方,否則 Azure Synapse 不支援受控識別。
由於效能限制,我們不會稽核 tempdb,臨時表。 雖然批次完成動作群組會針對暫存表擷取語句,但可能會無法正確填入物件名稱。 不過,一律會稽核源數據表,確保記錄從源數據表到臨時表的所有插入。
稽核僅支援適用於 Azure Synapse SQL 集區的預設稽核動作群組。
當您為 Azure 中的邏輯伺服器或 Azure SQL 資料庫設定稽核,並將記錄目的地用作儲存體帳戶時,驗證模式必須符合該儲存體帳戶的設定。 如果使用儲存體存取金鑰做為驗證類型,則必須啟用目標儲存體帳戶,並具有儲存體帳戶金鑰的存取權。 如果儲存體帳戶設定為只搭配 Microsoft Entra ID (先前稱為 Azure Active Directory) 使用驗證,則可以將稽核設定為使用受控識別進行驗證。
名稱包含字元的
?資料庫不支援稽核。 這適用於伺服器層級和資料庫層級稽核,因為?名稱中的資料庫。Azure SQL 資料庫與 Azure Synapse 審計日誌可擷取最多 4,000 個字元 的
statement和data_sensitivity_information欄位。 若可稽核行為的輸出超過此限制,超過前 4,000 字元的內容將被 截斷 並 排除於稽核記錄之外。
備註
支援具有 BlockBlobStorage 的進階儲存體。 支援標準儲存體。 不過,若要將稽核寫入位於虛擬網路或防火牆後面的儲存體帳戶,您必須有一般用途 v2 儲存體帳戶。 如果您有一般用途 v1 或 Blob 儲存體帳戶,請升級至一般用途 v2 儲存體帳戶。 如需特定指示,請參閱將稽核記錄寫入 VNet 和防火牆後方的儲存帳戶。 如需詳細資訊,請參閱儲存體帳戶類型。
所有類型的標準儲存體帳戶和具有 BlockBlobStorage 的進階儲存體帳戶都支援階層命名空間。
稽核記錄會被寫入您的 Azure 訂用帳戶中 Azure Blob 儲存體的附加 Blob中。
稽核記錄是 .xel 格式,可以使用 SQL Server Management Studio (SSMS) 開啟。
若要針對伺服器或資料庫層級的稽核事件設定不可變的記錄存放區,請依照 Azure 儲存體所提供的指示操作。 設定不可變的 Blob 儲存體以進行稽核時,請確保 允許受保護的附加寫入 被設定為 附加 Blob 或 封鎖和附加 Blob。 不支援 [無 ] 選項。 對於以時間為基礎的保留原則,記憶體帳戶的保留間隔必須比 SQL 稽核保留設定短。 不支援那些設置了儲存策略但 SQL 稽核保留期為
0的配置。您可將稽核記錄寫入虛擬網路或防火牆後方的 Azure 儲存體帳戶。
如需儲存體資料夾階層、命名慣例及記錄格式的進一步詳細資料,請參閱 SQL Database 稽核記錄格式。
稽核會自動啟用使用唯讀複本以分擔唯讀查詢工作的負載的功能。 如需儲存體資料夾階層、命名慣例及記錄格式的詳細資訊,請參閱 SQL Database 稽核記錄格式。
使用 Microsoft Entra 驗證時,失敗的登入記錄不會顯示在 SQL 稽核記錄中。 若要檢視失敗的登入稽核記錄,您需要瀏覽 Microsoft Entra 系統管理中心,其中會記錄這些事件的詳細資料。
登入會被由閘道系統路由到資料庫所在的特定執行個體。 採用 Microsoft Entra 登入時,系統會先驗證認證,然後再嘗試使用該使用者登入要求的資料庫。 如果發生失敗,則永遠不會存取要求的資料庫,因此不會進行稽核。 採用 SQL 登入時,系統會在要求的資料上驗證認證,因此可以進行稽核。 不論哪種情況,成功的登入(自然到達資料庫)都會被稽核。
設定您的稽核設定之後,您可以開啟新的威脅偵測功能,並設定電子郵件以接收安全性警示。 使用威脅偵測時,您會接收與指示潛在安全性威脅的異常資料庫活動相關的主動式警示。 如需詳細資訊,請參閱 SQL Database 進階威脅防護。
將啟用稽核功能的資料庫複製到另一個邏輯伺服器之後,您可能會收到一封電子郵件,通知您稽核失敗。 這是已知的問題,而且稽核在新複製的資料庫上應該會順利運作。