還原 Azure 監視器中的記錄

還原作業會針對高效能查詢,在經常性快取中提供數據表中特定時間範圍的數據。 本文說明如何還原數據、查詢該數據,然後在完成時關閉數據。

權限

若要從封存數據表還原數據,您需要 Microsoft.OperationalInsights/workspaces/tables/write Log Analytics工作區和Microsoft.OperationalInsights/workspaces/restoreLogs/write許可權,例如Log Analytics 參與者內建角色所提供的許可權。

還原記錄的時機

使用還原作業來查詢封存記錄中的數據。 您也可以使用還原作業,在源數據表上執行的記錄查詢無法在記錄查詢逾時 10 分鐘內完成時,在任何 Analytics 數據表的特定時間範圍內執行強大的查詢。

注意

還原是存取封存數據的一種方法。 使用 restore 對特定時間範圍內的一組數據執行查詢。 使用 搜尋作業 來根據特定準則存取數據。

還原有哪些功能?

當您還原資料時,您可以指定要查詢之資料的源數據表,以及要建立之新目的地資料表的名稱。

還原作業會建立還原數據表,並使用支援完整 KQL 的高效能查詢,配置額外的計算資源來查詢還原的數據。

目的地數據表提供基礎源數據的檢視,但不會以任何方式影響它。 數據表沒有保留設定,而且當您不再需要還原的數據時,您必須明確地 關閉還原的數據

還原數據

若要從數據表還原數據,請呼叫 數據表 - 建立或更新 API。 目的地數據表的名稱必須以 _RST結尾。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{user defined name}_RST?api-version=2021-12-01-preview

要求本文

要求的本文必須包含下列值:

名稱 類型​​ 描述
properties.restoredLogs.sourceTable 字串 具有要還原之數據的數據表。
properties.restoredLogs.startRestoreTime 字串 要還原的時間範圍開始。
properties.restoredLogs.endRestoreTime 字串 要還原的時間範圍結束。

還原數據表狀態

provisioningState 屬性表示還原數據表作業的目前狀態。 當您啟動還原時,API 會傳回這個屬性,稍後可以在數據表上使用 GET 作業來擷取此屬性。 provisioningState 屬性具有下列其中一個值:

Description
更新 正在還原作業。
成功 還原作業已完成。
刪除中 刪除還原的數據表。

範例要求

此範例會將 2020 年 1 月的數據從 Usage 數據表還原至名為 Usage_RST 的數據表。

要求

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Usage_RST?api-version=2021-12-01-preview

要求本文:

{
    "properties":  {
    "restoredLogs":  {
                      "startRestoreTime":  "2020-01-01T00:00:00Z",
                      "endRestoreTime":  "2020-01-31T00:00:00Z",
                      "sourceTable":  "Usage"
    }
  }
}

查詢還原的數據

還原的記錄會保留其原始時間戳。 當您在還原的記錄上執行查詢時,請根據最初產生的數據來設定查詢時間範圍。

將查詢時間範圍設定為下列其中一項:

  • 在查詢編輯器頂端的 [時間範圍] 下拉式清單中選取 [自定義],然後設定 [From] 和 [To] 值。

  • 指定查詢中的時間範圍。 例如:

    let startTime =datetime(01/01/2022 8:00:00 PM);
    let endTime =datetime(01/05/2022 8:00:00 PM);
    TableName_RST
    | where TimeGenerated between(startTime .. endTime)
    

關閉還原的數據

為了節省成本,建議您 刪除還原的數據表 ,以在不再需要還原的數據時關閉。

刪除還原的數據表並不會刪除源數據表中的數據。

注意

只要基礎源數據可用,即可使用還原的數據。 當您從工作區中刪除源數據表或源數據表的保留期間結束時,會從還原的數據表關閉數據。 不過,如果您未明確刪除,則空白數據表會維持不變。

限制

還原受限於下列限制。

您可以:

  • 從至少兩天的期間還原數據。

  • 最多還原 60 TB。

  • 同時在工作區中執行最多兩個還原程式。

  • 在特定時間只在特定數據表上執行一個作用中的還原。 在已經有作用中還原的數據表上執行第二次還原會失敗。

  • 每周最多執行四個每個數據表的還原。

定價模式

還原記錄的費用取決於您還原的數據量,以及還原作用中的持續時間。 因此,價格單位是 每天每 GB。 數據還原會在還原作用中的每一 UTC 天計費。

  • 每個還原的最低還原數據量會受到 2 TB 的收費。 如果您還原的數據較少,則每天會收取 2 TB 的最小費用,直到 還原關閉為止。

  • 在還原作用中的第一天和最後幾天,您只會支付還原作用中當天的費用。

  • 最低費用是 12 小時的還原持續時間,即使還原作用中少於 12 小時也一樣。

  • 如需數據還原價格的詳細資訊,請參閱 [記錄] 索引卷標上的 Azure 監視器定價

以下是說明資料還原成本計算的一些範例:

  1. 如果您的數據表每天保留 500 GB,而您從該數據表還原 10 天的數據,則還原大小總計為 5 TB。 您每天需支付這 5 TB 的還原數據費用,直到您 關閉還原的數據為止。 您的每日成本是 5,000 GB 乘以您的數據還原價格(請參閱 Azure 監視器定價

  2. 相反地,只會還原 700 GB 的數據,每天還原為使用中,會針對 2 TB 的最低還原層級計費。 您的每日成本是 2,000 GB 乘以您的數據還原價格。

  3. 如果 5 TB 的數據還原僅保持使用中 1 小時,則最低計費為 12 小時。 此數據還原的成本是5,000 GB乘以您的數據還原價格乘以0.5天(最低12小時)。

  4. 如果 700 GB 的數據還原僅保持使用中 1 小時,則最低會收取 12 小時的費用。 此數據還原的成本為 2,000 GB(最低計費還原大小)乘以您的數據還原價格乘以 0.5 天(最低 12 小時)。

注意

查詢已還原的記錄,因為其為 Analytics 記錄,因此不收費。

下一步