【小ネタ】RDS for MSSQLServerのトレースログ出力項目の追加設定

2019.01.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

瀬田@大阪オフィスです。掴みはなしでいきます。

ストアドの実行状況をログに出したい

RDS for MSSQLServerで、ストアドの実行状況を調べようかと思ったのですが、マネジマントコンソールのトレースログに項目が出力されていないようでした。 SQLプロファイラーでリアルタイムに取得すればいいのですが、過去ログが欲しかったんです。。。

解決

RDS for MSSQLServerのトレースログ出力は以下のドキュメントを見る限り
MSSQLServerのログ出力機構をそのまま使っています。

トレースファイルおよびダンプファイルの操作

ということで、MSSQLServerの手順で新規でトレースログを設定してみます。
上の資料からログの保存先はD:\rdsdbdata\log\任意のログ名.trcとします。

トレースの作成 (Transact-SQL)

sp_trace_seteventで指定するIDは以下の資料から取得します。ストアドなら42〜45あたりですね。

取得するイベントの一覧

これで設定したところ、無事、マネジメントコンソール上に指定イベントを含むトレースログが出力されました。

終わりに

当然っちゃあ当然ですが、RDSもエンジン固有機能を使ってる部分が多いなと実感した日でした。