Amazon RDS for SQL Server でサーバー側のトレースを読み取る方法を教えてください。

所要時間1分
0

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 

AWS公式
AWS公式更新しました 4年前
コメントはありません

関連するコンテンツ