データ フロー タスクで転送先の SQL Server コンポーネントを含む SSIS パッケージを実行しようとするときの FIX: エラー メッセージ

適用対象: Windows 7Windows VistaSQL Server Management Studio

現象


次のような状況で問題が発生します。
  • 対象の SQL Server のコンポーネントをデータ フロー タスクでは、SQL Server 2008 の統合サービス R2 (SSIS) パッケージを作成するとします。
  • しようとするユーザー アカウント制御 (UAC) が有効になっている (Windows Vista または Windows 7 上など) のシステムでこのパッケージを実行、次の方法のいずれかを使用しています。
    • ビジネス インテリジェンス開発 Studio (入札)
    • SQL Server Management Studio (SSMS) オブジェクト エクスプ ローラー
    • DTExec.exe
    • DTExecUI.exe
このシナリオでは、次のいずれかのようなエラー メッセージが表示される場合があります。
[SQL Server 変換先]エラー: データの挿入の SSIS 一括挿入を準備できません。[SSIS。パイプライン] エラー: SQL Server インポート先のコンポーネントが実行前フェーズを失敗したため、エラー コード 0xC0202071 が返されました"。データを一括コピーできません。 このパッケージを管理者として実行する必要があります。
注意事項
  • オペレーティング システムのインストール中に作成されるビルトインの管理者アカウントでパッケージを実行する場合は、これらのエラーは発生しません。 ローカルの Administrators グループのメンバーであるユーザーを含め、他のユーザーにこのメッセージが表示されます。
  • SQL Server エージェント ジョブとして同じの SSIS パッケージを実行するときに発生しません。
  • SQL 2008 Service Pack 2 (SP2) をインストールした後にのみ、2 番目のエラー メッセージが生成されます。

原因


この問題は、UAC が有効になっているシステムで発生します。 (SSIS) などのアプリケーションが起動すると、Administrators グループのメンバーであるアカウントで 2 つのセキュリティ トークンを受け取ります。 権限が低いトークンとアクセス許可の昇格された権限トークンです。 明示的にそのアプリケーションを実行、管理者アカウントで、[管理者として実行] オプションを使用している場合にのみ、アクセス許可の昇格のトークンが使用されます。 既定では、SSIS 常にトークンを使用して、権限が低いと、SSIS は、SQL Server 変換先コンポーネントに接続するときこれにより、障害が発生します。注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 ローカルの Administrators グループのメンバーではないアカウントを使用すると、UAC は表示されません。

解決方法


SQL Server 2008 R2 のサービス パックの情報

この問題を解決するには、SQL Server 2008 R2 の最新の service pack を入手します。詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。
2527041 SQL Server 2008 R2 の最新の Service Pack を入手する方法

状態


マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。この問題は、SQL Server 2008 R2 の SQL Server 2008 R2 Service Pack 1 で最初修正されました。

回避策


この問題を回避するには、以下のいずれかの方法を使用します。
  • SSMS から、入札の実行、または DTExecUI.exe からパッケージを実行する場合は、管理者アカウントからこれらのツールを起動します。 これを行うには、[スタート] ボタン、すべてのプログラム] をポイントし、ポイントをSQL Server 2005またはSQL Server 2008を使用しているツールを右クリックし、[管理者として実行] をクリックします。 ビルトインの管理者特権のアクセス許可を使用してアプリケーションを起動この管理者のアカウント、およびパッケージが正常に実行します。 同様に DTExec.exe を使用してパッケージを実行する場合は、管理者特権でコマンド プロンプトから起動します。 これを行うには、[スタート] ボタン [すべてのプログラム] をクリックして、アクセサリコマンド プロンプトを右クリックし、管理者として実行] をクリックします。注: 求められのは、上記詳細がトラッカーに明確に文書化されているようにすることまでです。 管理者としてコンピューターにログオンする操作を行いますしない、する場合は、管理者アカウントを指定する求められます。 応答して、ユーザー アカウント制御] ダイアログ ボックスで、管理者のユーザー名とパスワードを入力し、[ OK] をクリックします。
  • 失敗するデータ フロー タスクで転送先の SQL Server コンポーネントを同じ SQL Server の接続マネージャー] をポイントする OLE DB 変換先コンポーネントに置き換えます。
  • そのアカウントにグローバル オブジェクトの作成のアクセス許可を割り当てた後、ローカルの Administrators グループのメンバーではないアカウントを使用します。 これを行うには、次の手順を実行します。
    1. [スタート] ボタン、 [管理ツール] をポイントし、[ローカルセキュリティ ポリシー] をクリックします。
    2. [ローカル ポリシー] を展開し、[ユーザー権利の割り当て] をクリックします。
    3. 詳細ペインでグローバル オブジェクトの作成をダブルクリックします。
    4. ローカル セキュリティ ポリシーの設定] ダイアログ ボックスで、[追加] をクリックします。
    5. [ユーザーまたはグループ] ダイアログ ボックスで、追加、追加] をクリックし、[ ok]をクリックするユーザー アカウントをクリックします。