Amazon Relational Database Service (Amazon RDS) for SQL Server でサーバー側のトレースを読み取りたいと考えています。
簡単な説明
Amazon RDS はマネージドサービスであるため、ユーザーにはオペレーティングシステムへのアクセス権が付与されません。SQL のセルフホステッドインストールを使用している場合は、ホストへのアクセス権があるため、プロファイラー GUI を使用してトレースファイルを開くことができます。クライアント側のトレースを実行するには、Amazon RDS DB インスタンスにリモート接続してトレースを収集します。これにより、トレースファイルがリモートクライアントで作成されます。プロファイラーはクライアント側のツールであるため、接続が失われるとトレースは停止します。接続が失われるのを回避するには、サーバー側のトレースを実行できます。
解決方法
T-SQL ステートメントを使用してサーバー側のトレースを読み取る
1. 次の T-SQL ステートメントのようなコマンドを実行してサーバーで現在実行中のトレースを特定します。
select * from sys.traces;
注意: システムで現在実行中のトレースは、sys.traces カタログビューに含まれています。
2. 次の fn_trace_gettable 関数のようなコマンドを実行してトレースファイルを読み取ります。
select * from ::fn_trace_gettable('D:\rdsdbdata\log\rdstest.trc', default);
3. オプションで、サーバー側のトレース結果をデータベーステーブルに保存できます。その後、以下の fn_trace_gettable 関数のようなコマンドを実行することで、そのデータベーステーブルをチューニングアドバイザーのワークロードとして使用できます。
SELECT * INTO RDSTrace
FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace.trc', default);
注: 以下のコマンドでは、D:\rdsdbdata\Log ディレクトリ内で名前が RDSTrace.trc になっているすべてのファイル (RDSTrace_1.trc などのすべてのロールオーバーファイルを含む) の結果を、現在のデータベース内の RDSTrace というテーブル内にロードします。
トレースファイルとダンプファイルが蓄積されて、ディスク領域がいっぱいになることがあります。デフォルトでは、7 日を経過したトレースファイルとダンプファイルは Amazon RDS で消去されます。トレースファイルの保持期間を変更するには、rds_set_configuration ストアドプロシージャを使用してトレースファイルの保持期間を設定します。次のストアドプロシージャでは、トレースファイルの保持期間を 24 時間 (1440 分) に設定しています。
exec rdsadmin..rds_set_configuration 'tracefile retention', 1440;
関連情報
トレースファイルおよびダンプファイルの使用
Microsoft SQL Server データベースのログファイル
Database Engine Tuning Advisor を使用して Amazon RDS for SQL Server DB インスタンスのデータベースワークロードを分析する
Amazon RDS for Microsoft SQL Server