SMO テーブル DBCC パッケージ サンプル

SMOTablesDBCC サンプル パッケージは、Foreach ループ コンテナの Foreach SMO 列挙子を使用して AdventureWorks データベース内のユーザー テーブルを列挙する方法を示します。まず、スクリプト タスクにより、スキーマとテーブルの名前が取得されて、2 つの変数に置かれます。次に、SQL 実行タスクが 2 つの変数を使って DBCC CHECKCONSTRAINTS コマンドを実行します。

ms160947.note(ja-jp,SQL.90).gifメモ :
64 ビット環境でパッケージを実行するには、スクリプト タスクの PreCompile プロパティを True に設定します。デバッグ ツールを使用してスクリプトをステップ実行する場合は、プロパティを False に設定する必要があります。

詳細については、SQL Server 2005 Books Online の「Foreach ループ コンテナ」、「スクリプト タスク」、および「SQL 実行タスク」のトピックを参照してください。

ms160947.note(ja-jp,SQL.90).gif重要 :
サンプルは、学習に使用することのみを目的に提供されています。これらは、運用環境での使用を目的としたものではなく、運用環境でのテストも実施されていません。Microsoft からは、これらのサンプルについてのテクニカル サポートは提供されません。

必要条件

このサンプル パッケージを実行するための前提条件は次のとおりです。

  • 次のファイルを検索し、%windir%\Microsoft.NET\Framework\v2.0.xxxxx にコピーする (xxxxx は .NET Framework の最新バージョンです)。
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.Smo.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.SmoEnum.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll
  • サンプル パッケージとサンプル パッケージが使用するデータ ファイルが、ローカルのハード ディスク ドライブにインストールされている。
  • AdventureWorks データベースがインストールされていて、そのデータベースに対する管理権限を持っている。
  • コマンド ラインからサンプル パッケージを実行する場合、SQL Server 2005 Integration Services (SSIS) がインストールされている。
  • SSIS デザイナでパッケージを開いてサンプル パッケージを実行する場合、Business Intelligence Development Studio がインストールされている。

サンプルのインストール方法の詳細については、SQL Server 2005 Books Online の「Integration Services サンプル パッケージのインストール」のトピックを参照してください。SQL Server 2005 のオリジナル リリース後にリリースされた新しいサンプルを含む、サンプルの最新バージョンを入手するには、「SQL Server 2005 Samples and Sample Databases (April 2006)」を参照してください。

サンプル パッケージの場所

サンプルが既定の場所にインストールされた場合、SMOTablesDBCC サンプル パッケージは次のフォルダにあります。

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\

このサンプル パッケージの実行には次のファイルが必要です。

ファイル 説明

SmoTablesDBCC.dtsx

サンプル パッケージです。

サンプルの実行

パッケージは、dtexec ユーティリティを使用してコマンド ラインから実行することができます。または、Business Intelligence Development Studio で実行することもできます。

dtexec を使用してパッケージを実行するには

  1. [コマンド プロンプト] ウィンドウを開きます。

  2. dtexec のある C:\Program Files\Microsoft SQL Server\90\DTS\Binn にディレクトリを変更します。

  3. 次のコマンドを入力します。

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\SmoTablesDBCC.dtsx"
    
  4. Enter キーを押します。

dtexec ユーティリティを使用してパッケージを実行する方法の詳細については、SQL Server 2005 Books Online のトピック「dtexec ユーティリティ」を参照してください。

Business Intelligence Development Studio でパッケージを実行するには

  1. Business Intelligence Development Studio を開きます。

  2. [ファイル] メニューの [開く] をポイントし、[プロジェクト/ソリューション] をクリックします。

  3. SmoTablesDBCC フォルダを探し、SmoTablesDBCC.sln という名前のファイルをダブルクリックします。

  4. [ソリューション エクスプローラ] で、[SSIS パッケージ] フォルダの SmoTablesDBCC.dtsx を右クリックして、[パッケージの実行] をクリックします。

サンプルのコンポーネント

次の表に、サンプルで使用される Integration Services のタスク、コンテナ、および接続マネージャの一覧を示します。

要素 目的

Foeach ループ

Foreach ループ コンテナの Foreach Loop Container は Foreach SMO 列挙子を使用して、AdventureWorks データベースにあるテーブルの反復処理を行います。Foreach ループ コンテナには、スクリプト タスクと SQL 実行タスクが含まれています。

スクリプト タスク

スクリプト タスクは、ループの各反復処理でスキーマ名とテーブル名を使用して変数の値を更新します。

SQL 実行タスク

SQL 実行タスク DBCC CHECK CONSTRAINTS は、ループの各反復処理で DBCC コマンドを実行します。

OLE DB 接続マネージャ

OLE DB 接続マネージャの (local).AdventureWorks は、ローカル サーバー上の AdventureWorks データベースに接続します。

サンプル結果

パッケージの実行後、次のような出力結果が表示されます。

サンプル出力 :

開始: 0:41:04

進捗状況: 2005-03-15 10:41:06.04

ソース: DBCC CHECK CONSTRAINTS

クエリ "DBCC CHECKCONSTRAINTS('[dbo].[AWBuildVersion]') WI" を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-03-15 10:41:06.07

ソース: DBCC CHECK CONSTRAINTS

クエリ "DBCC CHECKCONSTRAINTS('[dbo].[DatabaseLog]') WITH " を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-03-15 10:38:16.81

ソース: DBCC CHECK CONSTRAINTS

クエリ "DBCC CHECKCONSTRAINTS('[Sales].[Store]') WITH ALL_" を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-03-15 10:38:16.91

ソース: DBCC CHECK CONSTRAINTS

クエリ "DBCC CHECKCONSTRAINTS('[Sales].[StoreContact]') WI" を実行しています。: 100% の完了

進捗状況の終了

DTExec: パッケージの実行から返されました DTSER_SUCCESS (0)

開始: 10:37:25

完了: 10:38:17

経過時間: 51.687 秒