適用対象:SQL Server
Azure Data Factory の SSIS 統合ランタイム
Integration Services により、データ フロー エンジンのパフォーマンスを監視するために使用できるパフォーマンス カウンターのセットがインストールされます。 たとえば、"Buffers spooled" カウンターを調べると、パッケージの実行中にデータ バッファーがディスクに一時的に書き込まれているかどうかを判断できます。 このスワップは、パフォーマンスを低下させると共に、コンピューターのメモリが不足していることを示しています。
注
Windows Server 2003 を実行しているコンピューターに Integration Services をインストールし、その後、そのコンピューターを Windows Server 2008 にアップグレードする場合、アップグレード プロセスによって Integration Services パフォーマンス カウンターがコンピューターから削除されます。 Integration Services のパフォーマンス カウンターをコンピューターに復元するには、SQL Server のセットアップを修復モードで実行してください。
注
パフォーマンス カウンターは、SSIS Scale Out シナリオではサポートされていません。
次の表では、パフォーマンス カウンターについて説明します。
| パフォーマンスカウンター | 説明 |
|---|---|
| 読み取られた BLOB バイト数 | データ フロー エンジンがすべてのソースから読み取ったバイナリ ラージ オブジェクト (BLOB) データのバイト数。 |
| 書き込まれた BLOB バイト数 | データ フロー エンジンがすべての出力先に書き込んだ BLOB データのバイト数。 |
| 使用中の BLOB ファイル | データ フロー エンジンが現在スプール処理に使用している BLOB ファイルの数。 |
| バッファー メモリ | 使用中のメモリの量。 この数値には物理メモリと仮想メモリの両方が含まれている可能性があります。 数値が物理メモリ容量より大きい場合、メモリ スワップが増加していることを表す Buffers Spooled の数も増加します。 メモリ スワップが増加すると、データ フロー エンジンのパフォーマンスが低下します。 |
| 使用中のバッファー | すべてのデータ フロー コンポーネントおよびデータ フロー エンジンが現在使用している、すべての種類のバッファー オブジェクト数。 |
| バッファはスプールされました | ディスクに現在書き込まれているバッファー数。 データ フロー エンジンが使用する物理メモリが不足している場合、現在使用されていないバッファーはディスクに書き込まれ、必要になった時点で再読み込みされます。 |
| フラット バッファー メモリ | すべてのフラット バッファーが使用するメモリ総量 (バイト単位)。 フラット バッファーはコンポーネントがデータの格納に使用するメモリ ブロックです。 フラット バッファーはバイト単位でアクセスできる大きなブロックです。 |
| 使用中のフラットバッファー | データ フロー エンジンが使用するフラット バッファー数。 フラット バッファーはすべてプライベート バッファーです。 |
| プライベート バッファー メモリ | すべてのプライベート バッファーが使用しているメモリ総量。 データ フロー エンジンがデータ フローをサポートするために作成した場合、バッファーはプライベートではありません。 プライベート バッファーは、変換が一時作業のためだけに使用するバッファーです。 たとえば、集計変換は作業のためにプライベート バッファーを使用します。 |
| 使用中のプライベート バッファー | 変換が使用するバッファー数。 |
| 読み込まれた行数 | ソースが生成した行数。 この数値には、参照変換が参照テーブルから読み込む行は含まれません。 |
| 書き込まれた行数 | 出力先に提供された行数。 この数値には、出力先データ ストアに書き込まれた行は含まれません。 |
Microsoft 管理コンソール (MMC) のパフォーマンス スナップインを使用して、パフォーマンス カウンターの値を取得するログを作成します。
パフォーマンスを向上させる方法については、「 データ フロー パフォーマンス機能」を参照してください。
パフォーマンスカウンター統計の取得
Integration Services サーバーに配置された Integration Services プロジェクトについて、dm_execution_performance_counters (SSISDB データベース) 関数を使用してパフォーマンス カウンター統計を取得できます。
次の例では、ID が 34 である処理中の実行の統計を関数で返します。
select * from [catalog].[dm_execution_performance_counters] (34)
次の例では、Integration Services サーバーで処理中のすべての実行の統計を関数で返します。
select * from [catalog].[dm_execution_performance_counters] (NULL)
重要
ssis_admin データベース ロールのメンバーである場合、現在実行中のすべての実行のパフォーマンス統計が返されます。 ssis_admin データベース ロールのメンバーでない場合は、読み取り権限がある実行中の実行についてのパフォーマンス統計が返されます。
データ フロー パフォーマンス カウンターのログを追加する
この手順では、データ フロー エンジンによって提供されるパフォーマンス カウンターのログを追加する方法について説明します。
注
Windows Server 2003 を実行しているコンピューターに Integration Services をインストールし、その後、そのコンピューターを Windows Server 2008 にアップグレードする場合、アップグレード プロセスによって Integration Services パフォーマンス カウンターがコンピューターから削除されます。 Integration Services のパフォーマンス カウンターをコンピューターに復元するには、SQL Server のセットアップを修復モードで実行してください。
パフォーマンス カウンターのログを追加するには
[コントロール パネル] で、クラシック表示を使用している場合は [管理ツール] をクリックします。 カテゴリ表示を使用している場合は、 [パフォーマンスとメンテナンス] をクリックしてから [管理ツール] をクリックします。
[パフォーマンス] をクリックします。
[パフォーマンス] ダイアログ ボックスで、 [パフォーマンス ログと警告] を展開して、 [カウンター ログ] を右クリックし、 [新しいログの設定] をクリックします。 ログの名前を入力します。 たとえば、「 MyLog」のように入力します。
[OK] をクリックします。
[MyLog] ダイアログ ボックスで、 [カウンターの追加] をクリックします。
ローカル コンピューターのパフォーマンス カウンターを記録するには、 [ローカル コンピューターのカウンターを使う] をオンにします。指定したコンピューターのパフォーマンス カウンターを記録するには、 [次のコンピューターからカウンターを選ぶ] をオンにし、一覧からコンピューターを選択します。
[カウンターの追加] ダイアログ ボックスで、 [パフォーマンス オブジェクト] 一覧の [SQL Server:SSIS Pipeline] をクリックします。
パフォーマンス カウンターを選択するには、次のいずれかの操作を行います。
すべてのパフォーマンス カウンターを記録する場合は、 [すべてのカウンター] をクリックします。
[一覧からカウンターを選ぶ] をオンにし、使用するパフォーマンス カウンターを選択します。
[追加] をクリックします。
[閉じる] をクリックします。
[MyLog] ダイアログ ボックスの [カウンター] 一覧で、ログ パフォーマンス カウンターの一覧を確認します。
カウンターを追加するには、手順 5. ~ 10. を繰り返します。
[OK] をクリックします。
注
[パフォーマンス ログと警告] サービスは、Administrators グループのメンバーであるローカル アカウントまたはドメイン アカウントを使用して起動する必要があります。