OLEDB 接続マネージャー

適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime

OLEDB 接続マネージャーでは、OLEDB プロバイダーを使用してパッケージをデータ ソースに接続することができます。 たとえば、SQL Server に接続する OLEDB 接続マネージャーでは、Microsoft OLEDB Provider for SQL Server を使用できます。

注意

SQL Server Native Client 11.0 OLEDB プロバイダーでは、マルチサブネット フェールオーバー クラスタリングの新しい接続文字列キーワード (MultiSubnetFailover=True) はサポートされません。 詳細については、SQL Server のリリース ノートをご覧ください。

注意

データ ソースが Microsoft Office Excel 2007 または Microsoft Office Access 2007 である場合、Excel または Access の以前のバージョンとは異なるデータ プロバイダーが必要になります。 詳細については、「 Excel ブックに接続する 」および「 Access データベースに接続する」を参照してください。

いくつかの SQL Server Integration Services タスクとデータ フロー コンポーネントでは、OLEDB 接続マネージャーを使用します。 たとえば、OLEDB の接続元と OLEDB の接続先では、この接続マネージャーを使用してデータの抽出と読み込みが行われます。 SQL 実行タスクでは、この接続マネージャーを使用して SQL Server データベースに接続し、クエリを実行できます。

また、OLEDB 接続マネージャーを使用して、C++ などの言語を使用するアンマネージド コードで記述されたカスタム タスク内で、OLEDB データ ソースにアクセスすることもできます。

OLEDB 接続マネージャーをパッケージに追加すると、Integration Services では、実行時に OLEDB 接続に解決される接続マネージャーが作成され、接続マネージャーのプロパティが設定されて、接続マネージャーがパッケージの Connections コレクションに追加されます。

接続マネージャーの ConnectionManagerType プロパティは、OLEDB に設定されます。

OLEDB 接続マネージャーは、次のようにして構成します。

  • 選択したプロバイダーの要件を満たすように構成された、特定の接続文字列を指定します。

  • プロパイダによっては、接続先のデータ ソースの名前を指定します。

  • 選択したプロバイダーに適したセキュリティ資格情報を指定します。

  • 接続マネージャーから作成される接続を、実行時に保持するかどうかを指定します。

Note

Microsoft Entra ID は、以前は Azure Active Directory (Azure AD) と呼ばれていました。

呼び出しのログ記録と接続のトラブルシューティング

OLEDB 接続マネージャーによる外部データ プロバイダーの呼び出しをログに記録できます。 その後、OLEDB 接続マネージャーによる外部データ ソースへの接続に関するトラブルシューティングを行うことができます。 OLEDB 接続マネージャーによる外部データ プロバイダーの呼び出しのログを記録するには、パッケージ ログ記録を有効にして、パッケージ レベルで Diagnostic イベントを選択する必要があります。 詳細については、「 パッケージ実行のトラブルシューティング ツール」を参照してください。

OLEDB 接続マネージャーを構成する

プロパティの設定は、SSIS デザイナーまたはプログラムで行います。 SSIS デザイナーで設定できるプロパティの詳細については、「OLEDB 接続マネージャーを構成する」を参照してください。 プログラムによって接続マネージャーを構成する方法の詳細については、開発者ガイドの T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager クラスのドキュメントを参照してください。

OLEDB 接続マネージャーを構成する

接続をデータ ソースに追加するには、 [OLE DB 接続マネージャーの構成] ダイアログ ボックスを使用します。 この接続は、新しいものでも、既存の接続のコピーでもかまいません。

注意

データ ソースが Microsoft Office Excel 2007 である場合、Excel の以前のバージョンとは異なる接続マネージャーが必要になります。 詳細については、「 Excel ブックに接続する」を参照してください。

データ ソースが Microsoft Office Access 2007 である場合、Access の以前のバージョンとは異なる OLEDB プロバイダーが必要になります。 詳細については、「 Access データベースに接続する」を参照してください。

OLEDB 接続マネージャーの詳細については、「OLE DB 接続マネージャー」を参照してください。

オプション

[データ接続]
一覧から既存の OLEDB データ接続を選択します。

[データ接続のプロパティ]
選択した OLEDB データ接続のプロパティとその値を表示します。

新規
[接続マネージャー] ダイアログ ボックスを使用して、OLEDB データ接続を作成します。

削除
データ接続を選択し、 [削除] を選択して削除します。

Azure リソース認証用のマネージド ID

Azure Data Factory (ADF) の Azure-SSIS Integration Runtime (IR) で SSIS パッケージを実行する場合は、Microsoft Entra 認証を、ご利用の ADF のシステム割り当てまたはユーザー割り当てマネージド ID と一緒に使用することで、ご利用の Azure SQL Database または SQL Managed Instance にアクセスすることができます。 Azure-SSIS IR ではこのマネージド ID を使用して、データベースにアクセスし、そのデータベースとの間でデータをコピーすることができます。

Note

  • ユーザー割り当てマネージド ID を使用して認証する場合は、同じ ID で SSIS Integration Runtime を有効にする必要があります。 詳細情報については、「Azure-SSIS Integration Runtime のMicrosoft Entra 認証を有効にする」を参照してください。

  • Microsoft Entra 認証を使用して Azure SQL Database または Azure SQL Managed Instance にアクセスするときに、パッケージの実行エラーや予期しない動作の変更に関連する問題が発生することがあります。 詳細情報については、Microsoft Entra の機能と制限に関する記述を参照してください。

Microsoft Entra 認証と、ADF 用のマネージド ID を使用して、Azure SQL Database サーバーにアクセスするには、これらの手順に従います。

  1. まだプロビジョニングしていない場合は、Azure portal で論理サーバーの Microsoft Entra 管理者をプロビジョニングします。 Microsoft Entra ユーザーまたはグループを、Microsoft Entra 管理者にすることができます。 管理者としてグループを割り当てる場合は、ADF のマネージド ID をグループに追加し、手順 2 と 3 をスキップできます。 管理者は、Azure SQL Database の論理サーバーへのフル アクセスを持っています。

  2. ご利用の ADF マネージド ID の包含データベース ユーザーを作成します。 SQL Server Management Studio (SSMS) を使用して、少なくとも ALTER ANY USER アクセス許可を持つ Microsoft Entra ユーザーを使用してデータベースに接続します。 次の T-SQL ステートメントを実行します。

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    

    ADF にシステム割り当てマネージド IDを使用する場合、your managed identity name はご利用の ADF 名である必要があります。 ADF にユーザー割り当てマネージド ID を使用する場合、your managed identity name は、指定されたユーザー割り当てマネージド ID 名である必要があります。

  3. SQL ユーザーに対して通常行うのと同じように、ADF 用のマネージド ID に対して、必要なアクセス許可を付与します。 適切なロールについては、「データベース レベルのロール」をご覧ください。 次の T-SQL ステートメントを実行します。 詳細については、こちらの記事を参照してください。

    EXEC sp_addrolemember [role name], [your managed identity name];
    

Microsoft Entra 認証と、ADF 用のマネージド ID を使用して Azure SQL Managed Instance にアクセスするには、これらの手順に従います。

  1. まだプロビジョニングしていない場合は、Azure portal で Azure SQL Managed Instance の Microsoft Entra 管理者をプロビジョニングします。 Microsoft Entra ユーザーまたはグループを、Microsoft Entra 管理者にすることができます。 管理者としてグループを割り当てる場合は、ADF のマネージド ID をグループに追加し、手順 2 と 3 をスキップできます。 管理者は、Azure SQL Managed Instance へのフル アクセスを持ちす。

  2. ADF 用のマネージド ID に割り当てられたログインを作成します。 SSMS で、sysadmin である SQL Server アカウントを使用して、Azure SQL Managed Instance に接続します。 master データベースで、次の T-SQL ステートメントを実行します。

    CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
    

    ADF にシステム マネージド ID を使用する場合、your managed identity name はご利用の ADF 名である必要があります。 ADF にユーザー割り当てマネージド ID を使用する場合、your managed identity name は、指定されたユーザー割り当てマネージド ID 名である必要があります。

  3. ADF 用に割り当てマネージド ID を表す包含データベース ユーザーを作成します。 SSMS を使用して、データのコピー元またはコピー先のデータベースに接続し、次の T-SQL ステートメントを実行します。

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. SQL ユーザーに対して通常行うのと同じように、ADF 用のマネージド ID に対して、必要なアクセス許可を付与します。 次の T-SQL ステートメントを実行します。 詳細については、こちらの記事を参照してください。

    ALTER ROLE [role name e.g., db_owner] ADD MEMBER [your managed identity name];
    

その後、OLEDB 接続マネージャーで OLEDB プロバイダーを構成できます。 これを行うには次のオプションがあります。

  • 設計時に構成します。 SSIS デザイナーで、OLEDB 接続マネージャーをダブルクリックして、 [接続マネージャー] ウィンドウを開きます。 [プロバイダー] ドロップダウン リストで、[Microsoft OLEDB Driver for SQL Server] を選択します。

    Note

    ドロップダウン リストの他のプロバイダーでは、ADF のマネージド ID を使用した Microsoft Entra 認証がサポートされていない場合があります。

  • 実行時に構成します。 SSMS または ADF パイプラインでの SSIS パッケージの実行アクティビティを介してパッケージを実行する場合は、OLEDB 接続マネージャーの接続マネージャー プロパティ ConnectionString を見つけます。 接続プロパティ ProviderMSOLEDBSQL (つまり、Microsoft OLEDB Driver for SQL Server) に更新します。

    Data Source=serverName;Initial Catalog=databaseName;Provider=MSOLEDBSQL;...
    

OLEDB 接続マネージャーで、ADF のマネージド ID を使用して Microsoft Entra 認証を構成することができるようになりました。 これを行うには次のオプションがあります。

  • 設計時に構成します。 SSIS デザイナーで、OLEDB 接続マネージャーを右クリックして、 [プロパティ] を選択します。 プロパティ ConnectUsingManagedIdentityTrue に更新します。

    Note

    現在、SSIS デザイナーまたは SQL Server パッケージを実行しても、接続マネージャーのプロパティ ConnectUsingManagedIdentity は有効になりません。これは、ADF のマネージド ID を使用した認証が機能しないことを示しています。

  • 実行時に構成します。 SSMS または ADF パイプラインでの SSIS パッケージの実行アクティビティを介してパッケージを実行する場合は、OLEDB 接続マネージャーを見つけて、そのプロパティ ConnectUsingManagedIdentityTrue に更新します。

    Note

    Azure-SSIS IR では、Microsoft Entra 認証と、マネージド ID とを使用すると、OLEDB 接続マネージャーで事前に構成された他のすべての認証方法 (統合セキュリティおよびパスワードなど) がオーバーライドされます。

既存のパッケージに対して、ADF 用のマネージド ID を使用して Microsoft Entra 認証を構成する場合は、最新の SSIS デザイナーで SSIS プロジェクトを少なくとも 1 回リビルドする方法をお勧めしています。 Azure-SSIS IR 上で実行する SSIS プロジェクトを再デプロイします。これにより、プロジェクト内のすべての OLEDB 接続マネージャーに新しい接続マネージャーのプロパティ ConnectUsingManagedIdentity が自動的に追加されます。 また、実行時にプロパティ パス \Package.Connections[{the name of your connection manager}].Properties[ConnectUsingManagedIdentity]True に割り当てることで、プロパティのオーバーライドを直接使用する方法もあります。

関連項目