Microsoft SQL Server 資料庫日誌檔案 - Amazon Relational Database Service

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

Microsoft SQL Server 資料庫日誌檔案

您可使用 Amazon RDS 主控台、AWS CLI 或 RDS API 存取 Microsoft SQL Server 錯誤記錄、代理程式記錄、追蹤檔案和傾印檔案。如需關於檢視、下載與查看資料庫日誌檔案的資訊,請參閱監控 Amazon RDS 日誌檔案

保留排程

不論您的資料庫執行個體何時重新啟動,日誌檔案都會每日輪換。下列為 Amazon RDS 上的 Microsoft SQL Server 日誌保留排程。

日誌類型 保留排程

錯誤日誌

最多會保留 30 個錯誤記錄。Amazon RDS 可能會刪除超過 7 日的錯誤記錄。

代理程式日誌

最多會保留 10 個代理程式記錄。Amazon RDS 可能會刪除超過 7 日的代理程式記錄。

追蹤檔案

追蹤檔案會依據您資料庫執行個體的追蹤檔案保留期間進行保存。預設的追蹤檔案保留期間為 7 天。若要修改您資料庫執行個體的追蹤檔案保留期間,請參閱 設定追蹤和傾印檔案的保留期間

傾印檔案

傾印檔案會依據您資料庫執行個體的傾印檔案保留期間進行保存。預設的傾印檔案保留期間為 7 天。若要修改您資料庫執行個體的傾印檔案保留期間,請參閱 設定追蹤和傾印檔案的保留期間

使用 rds_read_error_log 程序檢視 SQL Server 錯誤

您可以使用 Amazon RDS 預存程序 rds_read_error_log 來檢視錯誤日誌與代理程式日誌。如需詳細資訊,請參閱檢視錯誤和代理程式日誌

將 SQL 伺服器日誌發佈到 Amazon CloudWatch 日誌

使用適用 Amazon RDS for SQL Server,您可以將錯誤和代理程式記錄事件直接發佈到 Amazon CloudWatch 日誌。使用記錄檔分析記 CloudWatch 錄資料,然後用 CloudWatch 來建立警示和檢視指標。

使用 CloudWatch 日誌,您可以執行以下操作:

  • 將日誌存放在高耐用性儲存空間,並由您定義保留期間。

  • 搜尋和篩選日誌資料。

  • 在帳戶之間共享日誌資料。

  • 將日誌匯出至 Amazon S3。

  • 將數據流傳輸到 Amazon OpenSearch 服務。

  • 使用 Amazon Kinesis Data Streams 即時處理日誌資料。如需詳細資訊,請參閱適用於 SQL 應用程式的 Apache Flink 受管服務中使用 Amazon CloudWatch 日誌開發人員指南

Amazon RDS 將每個 SQL Server 資料庫日誌發佈為日誌群組中獨立的資料庫流。例如,如果您發佈代理程式記錄檔和錯誤記錄檔,錯誤資料會儲存在記錄群組的錯誤記/aws/rds/instance/my_instance/error錄資料流中,而代理程式記錄檔資料會儲存在記/aws/rds/instance/my_instance/agent錄群組中。

對於多可用區域資料庫執行個體,Amazon RDS 會在日誌群組中以兩個獨立的串流形式發佈資料庫日誌。例如,如果您發佈錯誤日誌,錯誤資料會分別存放在錯誤日誌串流 /aws/rds/instance/my_instance.node1/error/aws/rds/instance/my_instance.node2/error 中。日誌串流在容錯移轉期間不會變更,而且每個節點的錯誤日誌串流可能包含來自主要或次要執行個體的錯誤日誌。使用異地同步備份時,系統會自動建立日誌串流,/aws/rds/instance/my_instance/rds-events以儲存事件資料,例如資料庫執行個體容錯移轉。

注意

根據預設,不會啟用將 SQL Server CloudWatch 記錄檔發佈到記錄檔。不支援發佈追蹤檔案和傾印檔案。除了亞太區域 (香港) 以外,所有區域都支援將 SQL Server CloudWatch 記錄檔發佈至記錄檔。

若要將 SQL 伺服器資料庫記錄發佈至 CloudWatch 記錄,請從 AWS Management Console
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要修改的資料庫執行個體。

  3. 選擇 Modify (修改)

  4. 在 [記錄匯出] 區段中,選擇您要開始發佈至 CloudWatch 記錄檔的記錄檔。

    您可以選擇 Agent log (代理程式日誌)Error log (錯誤日誌),或兩者皆選。

  5. 選擇 Continue (繼續),然後在摘要頁面上選擇 Modify DB Instance (修改資料庫執行個體)

若要發佈 SQL Server 日誌,您可搭配下列參數使用 modify-db-instance 命令:

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

注意

--cloudwatch-logs-export-configuration 選項的變更一律立即套用到資料庫執行個體。因此,--apply-immediately--no-apply-immediately 選項沒有效果。

您亦可使用下列命令來發佈 SQL Server 日誌:

範例

下列範例會建立啟用 CloudWatch 記錄發佈的 SQL Server 資料庫執行個體。--enable-cloudwatch-logs-exports 值是 JSON 字串陣列,可包含 erroragent 或兩者。

對於LinuxmacOS、或Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["error","agent"]' \ --db-instance-class db.m4.large \ --engine sqlserver-se

在Windows中:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports "[\"error\",\"agent\"]" ^ --db-instance-class db.m4.large ^ --engine sqlserver-se
注意

使用 Windows 命令提示字元時,您必須在 JSON 程式碼中的雙引號 (") 開頭加上反斜線 (\),以逸出雙引號。

範例

下列範例會修改現有的 SQL Server 資料庫執行個體,以將記錄檔發佈至 CloudWatch 記錄檔。--cloudwatch-logs-export-configuration 值為 JSON 物件。此物件的金鑰為 EnableLogTypes,而值為字串陣列,可包含 erroragent 或兩者。

對於LinuxmacOS、或Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","agent"]}'

在Windows中:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"error\",\"agent\"]}"
注意

使用 Windows 命令提示字元時,您必須在 JSON 程式碼中的雙引號 (") 開頭加上反斜線 (\),以逸出雙引號。

範例

下列範例會修改現有的 SQL Server 資料庫執行個體,以停用將代理程式記錄檔發佈至 CloudWatch 記錄檔。--cloudwatch-logs-export-configuration 值為 JSON 物件。此物件的金鑰為 DisableLogTypes,而值為字串陣列,可包含 erroragent 或兩者。

對於LinuxmacOS、或Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["agent"]}'

在Windows中:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"agent\"]}"
注意

使用 Windows 命令提示字元時,您必須在 JSON 程式碼中的雙引號 (") 開頭加上反斜線 (\),以逸出雙引號。