PSSDIAG データ収集ユーティリティ

文書翻訳 文書翻訳
文書番号: 830232 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

PSSDIAG は、Microsoft Product Support Services が多種多様なログ ファイルおよびデータ ファイルを収集するために使用している汎用の診断収集ユーティリティです。PSSDIAG を使用すると、パフォーマンス モニタ ログ、SQL プロファイラ トレース、SQL Server ブロッキング スクリプトの出力、Windows イベント ログ、および SQLDIAG の出力をそのままの形式で収集できます。これらのログのうちのいずれかの種類を有効または無効にしたり、ブロッキング スクリプトとパフォーマンス モニタ ログのサンプル間隔を変更したり、キャプチャする SQL プロファイラおよびパフォーマンス モニタで使用する特定のイベントおよびカウンタを変更したりして、データ収集をカスタマイズできます。また、PSSDIAG を使用すると、ネイティブではサポートされていない診断データが必要なサポート案件に対して、カスタムのユーティリティまたは Transact-SQL スクリプトを実行できます。

詳細

この資料の内容が該当するのは、サポート案件のトラブルシューティングに役立てるために Microsoft Product Support Services が提供しているバージョンの PSSDIAG です。公開されているダウンロード サイトから入手できるバージョンは、Microsoft Product Support Services が提供しているバージョンとは若干異なるため、この資料の記載内容が該当しないことがあります。

公開されているダウンロード サイトから入手できるバージョンを中心に説明している資料については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/aa175399(SQL.80).aspx
下記のファイルは、「Microsoft ダウンロード センター」からダウンロードできます。

元に戻す画像を拡大する
ダウンロード
PSSDIAG データ収集ユーティリティ パッケージ

リリース日 : 2004 年 9 月 29 日

マイクロソフトのサポート ファイルのダウンロード方法を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、配布ファイルのウイルス チェックを行っています。配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。

PSSDIAG の起動方法

PSSDIAG は、使用しているコンピュータに作成される C:\PSSDIAG フォルダに展開されます。PSSDIAG のキャプチャ対象として設定されているデータ ファイルおよびログ ファイルを保持できるように、このフォルダが作成されるドライブには十分なディスク領域が必要です。PSSDIAG は、多種多様なログを収集するように設定できるため、必要な空きディスク領域は、状況によって 1 GB から数 GB と大きく異なります。収集されるトレース データの量は、サーバーの負荷の性質および大きさによって異なる場合があるため、正確に推定できない場合があります。SQL プロファイラのトレースなど、量が多くなるトレースに関連するデータ収集を実行する場合は、ローカル ドライブから PSSDIAG を実行し、ネットワーク共有や割り当てられたネットワーク ドライブからは実行しないようにしてください。

一般に、PSSDIAG は監視対象のサーバー上でローカルで実行します。ただし、リモート サーバーを監視するように PSSDIAG を設定できます。リモートで PSSDIAG を実行する方法の詳細については、この資料の「PSSDIAG のリモートでの実行またはクラスタ化された SQL Server での実行」を参照してください。

: SQL Server のクラスタ化されたインスタンスからデータを収集する場合は、さらに別の手順の実行が必要になる場合があります。SQL Server のクラスタ化されたインスタンスに接続する場合は、PSSDIAG をサーバーでローカルに実行する場合でも、この資料の「PSSDIAG のリモートでの実行またはクラスタ化された SQL Server での実行」を参照してください。

Pssdiag.exe には、重大な固有のセキュリティ要件はありません。ただし、PSSDIAG のキャプチャ対象としてオプションで設定できる診断では、多くの場合、Microsoft Windows NT 管理者の資格情報が必要です。また、SQL Server から診断をキャプチャするように PSSDIAG を設定した場合 (つまり、PSSDIAG が、/G コマンド ライン スイッチを指定した "generic モード" で実行されていない場合) は、SQL Server の sysadmin 資格情報が必要です。デフォルトでは、PSSDIAG は Windows 認証を使用して SQL Server に接続します。ただし、必要に応じて SQL Server 認証を使用できます。

PSSDIAG では、いくつかのオプションのコマンド ライン パラメータがサポートされます。オプションのコマンド ライン パラメータの詳細については、この資料の「PSSDIAG コマンド ライン パラメータ」を参照してください。ただし、一般には、オプションのパラメータを使用する必要はありません。Microsoft ダウンロード センターで入手できるパッケージから PSSDIAG ファイルを解凍したら、Pssdiag.exe を実行してデータの収集を開始してください。

PSSDIAG を起動すると、キャプチャ対象として設定されているログ ファイルが PSSDIAG によって開かれ設定されます。この処理には数秒かかる場合があります。PSSDIAG が完全に起動されてすべてのログがアクティブになると、PSSDIAG によって次のメッセージがコンソールに出力されます。
2003/10/02 12:30:14.90 PSSDIAG Collection started. Press Ctrl+C to stop.
任意に再現できる問題についてのデータを PSSDIAG を実行して収集する場合は、このメッセージが表示されてから問題の再現を試みてください。

データ収集が完了する前や PSSDIAG がシャットダウンされる前に、PSSDIAG を実行しているコンソール セッションからログアウトしないでください。PSSDIAG はサービスではなくコンソール ユーティリティであるため、PSSDIAG を実行しているコンソール セッションからログアウトすると PSSDIAG がシャットダウンされ、データ収集が終了します。必要であれば、ターミナル サーバー セッションから PSSDIAG を実行できます。その場合は、ログアウトするのではなくターミナル サーバー セッションを切断すると、PSSDIAG を実行したままにできます。

PSSDIAG の停止方法

PSSDIAG を停止するには、PSSDIAG を実行しているコンソール ウィンドウをアクティブにして Ctrl + C キーを押します。PSSDIAG は、特定の時間に自動的にシャットダウンするように設定することもできます。これに関する詳細については、この資料の「PSSDIAG の自動開始と自動停止」を参照してください。ファイルを自動的に .cab 圧縮ファイルに追加するよう PSSDIAG を設定した場合、最後のログ ファイルの圧縮が完了するまでにきわめて長い時間かかる場合があります。Ctrl + C キーを押すと、PSSDIAG から次のようなメッセージがコンソールに表示されます。
2003/10/02 12:24:00.69 PSSDIAG Ending data collection. wait while the process shuts down and files are compressed (this may take several minutes)
このメッセージが表示されると、それまでに収集されたデータの圧縮処理が続行されることはありますが、サーバーのデータはそれ以上収集されません。

PSSDIAG が完全にシャットダウンする前に、次のようなメッセージが表示される場合があります。
The files in F:\pssdiag\output\ have been added to PSSDIAG.CAB. Delete the backups in F:\pssdiag\output\backup\?
可能な場合は、N キーを押し、Pssdiag.cab 出力ファイルが損傷していないことを確認できるまで Backup フォルダにある収集されたデータ ファイルを保持することをお勧めします。

PSSDIAG の出力の場所

/O コマンド ライン パラメータを使用してカスタムの出力フォルダを指定しない限り、PSSDIAG が実行されているフォルダ内に Output という名前のフォルダが作成されます。/C0 コマンド ライン パラメータ (デフォルト) または /C1 コマンド ライン パラメータを指定することにより自動圧縮を無効にして PSSDIAG を実行すると、出力ファイルがこのフォルダに残ります。この Output フォルダを Microsoft Support 担当者に渡すためにアップロードする必要がある場合は、任意のツールを使用してこのフォルダを圧縮できます。

PSSDIAG を自動圧縮モードで実行すると、Output フォルダ内の Pssdiag.cab 圧縮ファイルにすべての出力ファイルが追加されます。PSSDIAG はデフォルトで圧縮処理を実行しません。ファイルが正常に Pssdiag.cab ファイルに追加されると、Pssdiag.cab ファイルは Backup という名前の別のフォルダに移動されます。Backup フォルダは Output フォルダ内に作成されます。1 つの CAB ファイルに追加可能な非圧縮データの最大サイズは 2 GB です。収集されたデータが 2 GB を超えた場合、Pssdiag2.cab、Pssdiag3.cab などの名前で別の CAB ファイルが作成されます。

PSSDIAG の削除

PSSDIAG では、COM オブジェクトの登録、システム ディレクトリへのファイルのコピー、およびシステム レジストリの変更は行われません。データ収集が完了したときに PSSDIAG を削除する場合は、PSSDIAG を含むフォルダを削除します。いくつかのシステム ストアド プロシージャが PSSDIAG によって master データベースにインストールされますが、これらのストアド プロシージャは PSSDIAG のシャットダウン時に自動的に削除されます。

PSSDIAG コマンド ライン パラメータ

コマンド ラインから PSSDIAG /? を実行すると、PSSDIAG でサポートされているコマンド ライン パラメータを一覧表示できます。次の表では、最も頻繁に使用されるパラメータについて説明します。これらのパラメータはすべてオプションです。

元に戻す全体を表示する
パラメータ説明
/Q Quiet モードです。バックアップ ファイルを削除するときの確認メッセージなどのユーザー操作を実行時に要求しません。
/C# /C0 を指定すると自動圧縮が無効になります。/C1 を指定すると OUTPUT ディレクトリ内のファイルに対する NTFS 圧縮が有効になります。/C2 を指定すると、PSSDIAG がシャットダウンされない限り圧縮は実行されません。/C3 を指定するとデータを収集している間にバックグラウンドのスレッドで自動圧縮が実行されます。/C0 (圧縮なし) がデフォルトです。
/B YYYYMMDD_HH:MM:SS
収集を開始する時刻を指定します。指定した時刻になるまで PSSDIAG はアイドル状態のままです。日付および時刻は、この表で指定されている形式で指定する必要があります。日付および時刻は、一緒に指定することも、別々に指定することもできます。たとえば、時刻のみ、または日付のみを指定できます。
/E YYYYMMDD_HH:MM:SS
自動的にシャットダウンする時刻を指定します。指定した時刻になると、自動的に PSSDIAG によるデータ収集が停止し、シャットダウンします。日付および時刻は、一緒に指定することも、別々に指定することもできます。たとえば、時刻のみ、または日付のみを指定できます。
/G Generic モードです。PSSDIAG のデフォルトの設定は、SQL Server 中心のデータ収集モードです。このモードでは SQL Server のインスタンスが実行されている必要があります。/G パラメータを指定すると SQL Server 固有のデータの収集が無効になるため、他の環境で PSSDIAG を使用できるようになります。


PSSDIAG の自動開始と自動停止

指定した時刻にデータ収集が自動的に開始されるように、または、指定した期間だけデータを収集した後、自動的に停止するように PSSDIAG を設定すると便利な場合があります。たとえば、常に午前 2 時に発生する問題をトラブルシューティングするとします。このような場合は、データ収集を午前 1 時に開始し、午前 3 時に自動的にシャットダウンするように PSSDIAG を設定できます。指定した時刻に自動的にデータ収集を開始し停止する最も簡単な方法は、/B コマンド ライン パラメータと /E コマンド ライン パラメータを使用する方法です。これらのパラメータでは、「PSSDIAG コマンド ライン パラメータ」で指定されているとおりの日付形式を使用してください。時刻は PSSDIAG を実行するコンピュータのローカル時刻で指定する必要があります。

PSSDIAG は、PSSDIAG の出力フォルダ内で Pssdiag.stop という名前のファイルを検出した場合も自動的にシャットダウンします。これは、何らかのイベントが発生した後、プログラムで PSSDIAG をシャットダウンする場合に便利ですが、そのイベントが発生する時刻は事前にはわかりません。Pssdiag.stop ファイルの内容には特に意味はありません。バッチ ファイルで次のようなコマンドを使用することで、PSSdiag.stop ファイルを作成することもできます。
ECHO abc > F:\PSSDIAG\Output\PSSDIAG.STOP

PSSDIAG によるパフォーマンスへの影響

PSSDIAG は、他のデータ収集 API やユーティリティの単なるラッパーであり、PSSDIAG を実行することによるパフォーマンスへの影響は、一般に、PSSDIAG のキャプチャ対象として設定されているトレースによる影響と等しくなります。同じトレース データを、PSSDIAG を使用せずに手動でキャプチャした場合も、影響は同程度です。

PSSDIAG は、少量のデータをキャプチャするように設定したり、大量のデータをキャプチャするように設定したりすることもできます。キャプチャするデータの種類は、通常、それぞれ場合に応じてカスタマイズします。そのため、収集するログの種類やトレース イベントを考慮せずに PSSDIAG を実行できるような、さまざまな影響に対処するステートメントを作成することはできません。データ収集によりサーバーに与える可能性のある影響を考慮する必要がある場合は、PSSDIAG を提供した Microsoft Support 担当者に問い合わせ、キャプチャするように設定されている診断の種類を確認してください。

Pssdiag.exe によって直接実行され、CPU リソースを大量に消費する可能性があるタスクとして、CAB アーカイブ形式でのデータ ファイルの自動圧縮が挙げられます。デフォルトではこの機能は無効になっていますが、/C コマンド ライン パラメータを指定した場合に有効になります。/C コマンド ライン パラメータについては、この資料の「PSSDIAG コマンド ライン パラメータ」で詳細に説明されています。

PSSDIAG のリモートでの実行またはクラスタ化された SQL Server での実行

PSSDIAG を使用して、リモート サーバーや SQL Server のクラスタ化されたインスタンスからデータを収集するには、Pssdiag.ini ファイルを変更する必要があります。それには、PSSDIAG の接続先サーバー名を指定する必要があります。このファイルを適切に設定するために、Microsoft Support 担当者から PSSDIAG ツールを受け取る前に、Microsoft Support 担当者にサーバー名を伝えてください。

この変更を自分で行う場合は、Pssdiag.exe と同じフォルダにある Pssdiag.ini ファイルを見つけ、メモ帳で Pssdiag.ini を開きます。このファイルの最初の行には、文字列 "[.]" が含まれています。角かっこで囲まれたピリオドをリモート サーバーの名前で置き換えます。SQL Server の名前付きインスタンスからデータを収集する場合、サーバー名は SQL Server のインスタンスのフル ネームではないことに注意してください。たとえば、SQL Server のインスタンスのフル ネームが "MYSERVER\MyInstance" の場合、Pssdiag.ini ファイルの最初の行を "[MYSERVER]" で置き換えます。

SQL プロファイラのトレースは、常にサーバーで実行されます。そのため、プロファイラ データを収集するように PSSDIAG を設定した場合、PSSDIAG のリモートでの実行に関する別の問題が発生します。このような場合は、PSSDIAG をサーバーでローカルに実行することをお勧めします。プロファイラのトレースが必要で、リモート データの収集を検討する場合は、詳細について各自の Microsoft Support 担当者にお問い合わせください。

SQL Server のインスタンスがクラスタ化されている場合は、クラスタ ノードのコンピュータ名ではなく仮想サーバー名を使用します。

重要 : SQL Server のクラスタ化されたインスタンスに接続する場合は、PSSDIAG をクラスタ ノードのいずれかでローカルに実行する場合でも、Pssdiag.ini ファイルで仮想サーバー名を明示的に指定する必要があります。
この資料に記載されている PSSDiag ユーティリティは、SQL Server 7.0 と SQL Server 2000 のみを対象としています。SQL Server 2005 向けのユーティリティも作成されており、SQLdiag という名前で SQL Server 2005 に含まれています。SQLdiag の詳細については、SQL Server 2005 Books Online の「SQLdiag ユーティリティ」を参照してください。

プロパティ

文書番号: 830232 - 最終更新日: 2007年2月16日 - リビジョン: 13.2
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
キーワード:?
KB830232
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com