OLE DB 연결 관리자OLE DB Connection Manager

적용 대상: 예SQL Server(Linux 포함) 예Azure SQL Database 예Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스APPLIES TO: yesSQL Server, including on Linux yesAzure SQL Database yesAzure SQL Data Warehouse noParallel Data Warehouse

OLE DB 연결 관리자를 사용하면 패키지에서 OLE DB Provider를 사용하여 데이터 원본에 연결할 수 있습니다.An OLE DB connection manager enables a package to connect to a data source by using an OLE DB provider. 예를 들어 SQL ServerSQL Server 에 연결되는 OLE DB 연결 관리자에서는 MicrosoftMicrosoft OLE DB Provider for SQL ServerSQL Server를 사용할 수 있습니다.For example, an OLE DB connection manager that connects to SQL ServerSQL Server can use the MicrosoftMicrosoft OLE DB Provider for SQL ServerSQL Server.

참고

SQL ServerSQL Server Native Client 11.0 OLEDB 공급자는 다중 서브넷 장애 조치(Failover) 클러스터링에 대한 새 연결 문자열 키워드(MultiSubnetFailover=True)를 지원하지 않습니다.The SQL ServerSQL Server Native Client 11.0 OLEDB provider does not support the new connection string key words (MultiSubnetFailover=True) for Multi-Subnet Failover Clustering. 자세한 내용은 SQL Server 릴리스 정보 및 www.mattmasson.com의 블로그 게시물, Always On 다중 서브넷 장애 조치(Failover) 및 SSIS를 참조하세요.For more information, see the SQL Server Release Notes and the blog post, Always On Multi-Subnet Failover and SSIS, on www.mattmasson.com.

참고

데이터 원본이 MicrosoftMicrosoft Office Excel 2007 또는 MicrosoftMicrosoft Office Access 2007인 경우 이 데이터 원본에는 이전 버전의 Excel 또는 Access와 다른 데이터 공급자가 필요합니다.If the data source is MicrosoftMicrosoft Office Excel 2007 or MicrosoftMicrosoft Office Access 2007, the data source requires a different data provider than earlier versions of Excel or Access. 자세한 내용은 Excel 통합 문서에 연결Access 데이터베이스에 연결을 참조하세요.For more information, see Connect to an Excel Workbook and Connect to an Access Database.

일부 SQL ServerSQL Server Integration ServicesIntegration Services 태스크와 데이터 흐름 구성 요소에서는 OLE DB 연결 관리자가 사용됩니다.Several SQL ServerSQL Server Integration ServicesIntegration Services tasks and data flow components use an OLE DB connection manager. 예를 들어 OLE DB 원본과 OLE DB 대상에서는 이 연결 관리자를 사용하여 데이터를 추출 및 로드하고, SQL 실행 태스크에서는 이 연결 관리자를 사용하여 SQL ServerSQL Server 데이터베이스에 연결하고 쿼리를 실행합니다.For example, the OLE DB source and OLE DB destination use this connection manager to extract and load data, and the Execute SQL task can use this connection manager to connect to a SQL ServerSQL Server database to run queries.

OLE DB 연결 관리자는 또한 C++와 같은 언어를 사용하는 비관리 코드로 작성된 사용자 지정 태스크의 OLE DB 데이터 원본에 액세스하는 데에도 사용됩니다.The OLE DB connection manager is also used to access OLE DB data sources in custom tasks written in unmanaged code that uses a language such as C++.

패키지에 OLE DB 연결 관리자를 추가하면 Integration ServicesIntegration Services 에서 런타임에 OLE DB 연결로 확인되는 연결 관리자를 만들고, 연결 관리자 속성을 설정하고, 연결 관리자를 패키지의 Connections 컬렉션에 추가합니다.When you add an OLE DB connection manager to a package, Integration ServicesIntegration Services creates a connection manager that will resolve to an OLE DB connection at run time, sets the connection manager properties, and adds the connection manager to the Connections collection on the package.

연결 관리자의 ConnectionManagerType 속성이 OLEDB로 설정됩니다.The ConnectionManagerType property of the connection manager is set to OLEDB.

다음과 같은 방법으로 OLE DB 연결 관리자를 구성할 수 있습니다.The OLE DB connection manager can be configured in the following ways:

  • 선택된 공급자에 대한 요구 사항을 만족하도록 구성된 특정 연결 문자열을 제공합니다.Provide a specific connection string configured to meet the requirements of the selected provider.

  • 공급자에 따라 연결할 데이터 원본의 이름을 포함시킵니다.Depending on the provider, include the name of the data source to connect to.

  • 선택된 공급자에 적합한 보안 자격 증명을 제공합니다.Provide security credentials as appropriate for the selected provider.

  • 연결 관리자에서 만든 연결이 런타임에 유지될지 여부를 나타냅니다.Indicate whether the connection that is created from the connection manager is retained at run time.

로깅Logging

OLE DB 연결 관리자가 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다.You can log the calls that the OLE DB connection manager makes to external data providers. 이 로깅 기능을 사용하여 OLE DB 연결 관리자가 수행하는 외부 데이터 원본에 대한 연결 문제를 해결할 수 있습니다.You can use this logging capability to troubleshoot the connections that the OLE DB connection manager makes to external data sources. OLE DB 연결 관리자가 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다.To log the calls that the OLE DB connection manager makes to external data providers, enable package logging and select the Diagnostic event at the package level. 자세한 내용은 패키지 실행 문제 해결 도구를 참조하세요.For more information, see Troubleshooting Tools for Package Execution.

OLEDB 연결 관리자 구성Configuration of the OLEDB Connection Manager

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically. SSISSSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 OLE DB 연결 관리자 구성을 참조하세요.For more information about the properties that you can set in SSISSSIS Designer, see Configure OLE DB Connection Manager. 프로그래밍 방식으로 연결 관리자를 구성하는 방법은 개발자 가이드에서 T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager 클래스에 대한 설명서를 참조하십시오.For information about configuring a connection manager programmatically, see the documentation for T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager class in the Developer Guide.

OLE DB 연결 관리자 구성Configure OLE DB Connection Manager

OLE DB 연결 관리자 구성 대화 상자를 사용하면 새 연결을 만들거나 기존 연결을 복사하여 데이터 원본에 대한 연결을 추가할 수 있습니다.Use the Configure OLE DB Connection Manager dialog box to add a connection to a data source, which can be either a new connection or a copy of an existing connection.

참고

데이터 원본이 MicrosoftMicrosoft Office Excel 2007인 경우 이 데이터 원본에는 이전 버전의 Excel과 다른 연결 관리자가 필요합니다.If the data source is MicrosoftMicrosoft Office Excel 2007, the data source requires a different connection manager than earlier versions of Excel. 자세한 내용은 Excel 통합 문서에 연결을 참조하세요.For more information, see Connect to an Excel Workbook.

데이터 원본이 MicrosoftMicrosoft Office Access 2007인 경우 이 데이터 원본에는 이전 버전의 Access와 다른 OLE DB 공급자가 필요합니다.If the data source is MicrosoftMicrosoft Office Access 2007, the data source requires a different OLE DB provider than earlier versions of Access. 자세한 내용은 Access 데이터베이스에 연결을 참조하세요.For more information, see Connect to an Access Database.

OLE DB 연결 관리자에 대한 자세한 내용은 OLE DB Connection Manager를 참조하십시오.To learn more about the OLE DB connection manager, see OLE DB Connection Manager.

옵션Options

데이터 연결Data connections
목록에서 기존 OLE DB 데이터 연결을 선택합니다.Select an existing OLE DB data connection from the list.

데이터 연결 속성Data connection properties
선택한 OLE DB 데이터 연결의 속성과 값을 표시합니다.View properties and values for the selected OLE DB data connection.

새로 만들기New
연결 관리자 대화 상자를 사용하여 OLE DB 데이터 연결을 만듭니다.Create an OLE DB data connection by using the Connection Manager dialog box.

DeleteDelete
데이터 연결을 선택한 다음 삭제 단추를 사용하여 삭제합니다.Select a data connection, and then delete it by using the Delete button.

Azure 리소스 인증을 위한 관리 IDManaged Identities for Azure Resources Authentication

Azure Data Factory의 Azure-SSIS 통합 런타임에 대해 SSIS 패키지를 실행하는 경우 Azure SQL Database(또는 Managed Instance) 인증을 위해 데이터 팩터리와 연결된 관리 ID를 사용할 수 있습니다.When running SSIS packages on Azure-SSIS integration runtime in Azure Data Factory, you can use the managed identity that is associated with your data factory for Azure SQL Database (or Managed Instance) authentication. 지정된 팩터리는 이 ID를 사용하여 데이터베이스에 액세스하고 해당 데이터베이스에 대해 데이터를 복사할 수 있습니다.The designated factory can access and copy data from or to your database by using this identity.

참고

Azure AD 인증(관리 ID 인증 포함)을 사용하여 Azure SQL Database(또는 Managed Instance)에 연결하는 경우 패키지 실행 실패 또는 예기치 않은 동작 변경을 야기할 수 있는 알려진 이슈가 발생합니다.When you use Azure AD authentication (including managed identity authentication) to connect to Azure SQL Database (or Managed Instance), there are known issues which may result in package execution failure or unexpected behavior change. 자세한 내용은 Azure AD 기능 및 제한을 참조하세요.Refer to Azure AD features and limitations for more information.

Azure SQL Database에 대해 관리 ID 인증을 사용하려면 아래 단계를 수행하여 데이터베이스를 구성합니다.To use managed identity authentication for Azure SQL Database, follow these steps to configure your database:

  1. Azure AD에 그룹을 만듭니다.Create a group in Azure AD. 관리 ID를 그룹의 멤버로 만듭니다.Make the managed identity a member of the group.

    1. Azure Portal에서 데이터 팩터리 관리 ID를 찾습니다.Find the data factory managed identity from the Azure portal. 데이터 팩터리의 속성으로 이동합니다.Go to your data factory's Properties. 관리 ID 개체 ID를 복사합니다.Copy the Managed Identity Object ID.

    2. Azure AD PowerShell 모듈을 설치합니다.Install the Azure AD PowerShell module. Connect-AzureAD 명령을 사용하여 로그인합니다.Sign in by using the Connect-AzureAD command. 다음 명령을 실행하여 그룹을 만들고 관리 ID를 멤버로 추가합니다.Run the following commands to create a group and add the managed identity as a member.

      $Group = New-AzureADGroup -DisplayName "<your group name>" -MailEnabled $false -SecurityEnabled $true -MailNickName "NotSet"
      Add-AzureAdGroupMember -ObjectId $Group.ObjectId -RefObjectId "<your data factory managed identity object ID>"
      
  2. 아직 수행하지 않은 경우 Azure Portal에서 Azure SQL Server에 대해 Azure Active Directory 관리자를 프로비저닝 합니다.Provision an Azure Active Directory administrator for your Azure SQL server on the Azure portal if you haven't already done so. Azure AD 관리자는 Azure AD 사용자 또는 Azure AD 그룹이 될 수 있습니다.The Azure AD administrator can be an Azure AD user or Azure AD group. 관리 ID를 가진 그룹에 관리자 역할을 부여하는 경우 3단계 및 4단계를 건너뛰세요.If you grant the group with managed identity an admin role, skip steps 3 and 4. 관리자는 데이터베이스에 대한 전체 액세스 권한을 가집니다.The administrator will have full access to the database.

  3. Azure AD 그룹에 대해 포함된 데이터베이스 사용자를 만듭니다 .Create contained database users for the Azure AD group. ALTER ANY USER 이상의 사용 권한을 가진 Azure AD ID를 통해 SSMS와 같은 도구를 사용하여 데이터를 복사하려는 데이터베이스에 연결합니다.Connect to the database from or to which you want to copy data by using tools like SSMS, with an Azure AD identity that has at least ALTER ANY USER permission. 다음 T-SQL을 실행합니다.Run the following T-SQL:

    CREATE USER [your AAD group name] FROM EXTERNAL PROVIDER;
    
  4. SQL 사용자 및 다른 사용자에 대해 일반적으로 수행하는 것처럼 Azure AD에 필요한 사용 권한을 부여합니다.Grant the Azure AD group needed permissions as you normally do for SQL users and others. 해당 역할에 대해서는 데이터베이스 수준 역할을 참조하세요.Refer to Database-Level Roles for appropriate roles. 예를 들어 다음 코드를 실행합니다.For example, run the following code:

    ALTER ROLE [role name] ADD MEMBER [your AAD group name];
    

Azure SQL Database Managed Instance에 대해 관리 ID 인증을 사용하려면 아래 단계를 수행하여 데이터베이스를 구성합니다.To use managed identity authentication for Azure SQL Database Managed Instance, follow these steps to configure your database:

  1. 아직 수행하지 않은 경우 Azure Portal에서 관리형 인스턴스에 대해 Azure Active Directory 관리자를 프로비저닝 합니다.Provision an Azure Active Directory administrator for your managed instance on the Azure portal if you haven't already done so. Azure AD 관리자는 Azure AD 사용자 또는 Azure AD 그룹이 될 수 있습니다.The Azure AD administrator can be an Azure AD user or Azure AD group. 관리 ID를 가진 그룹에 관리자 역할을 부여하는 경우 2단계~5단계를 건너뛰세요.If you grant the group with managed identity an admin role, skip steps 2-5. 관리자는 데이터베이스에 대한 전체 액세스 권한을 가집니다.The administrator will have full access to the database.

  2. Azure Portal에서 데이터 팩터리 관리 ID를 찾습니다 .Find the data factory managed identity from the Azure portal. 데이터 팩터리의 속성으로 이동합니다.Go to your data factory's Properties. 관리 ID 애플리케이션 ID(관리 ID 개체 ID가 아닌)를 복사합니다.Copy the Managed Identity Application ID (NOT Managed Identity Object ID).

  3. 데이터 팩터리 관리 ID를 이진 형식으로 변환합니다.Convert the data factory managed identity to binary type. SQL/Active Directory 관리자 계정을 통해 SSMS와 같은 도구를 사용하여 관리형 인스턴스의 마스터 데이터베이스에 연결합니다.Connect to master database in your managed instance by using tools like SSMS, with your SQL/Active Directory admin account. 마스터 데이터베이스에 대해 다음 T-SQL을 실행하여 관리 ID 애플리케이션 ID를 이진 형식으로 가져옵니다.Run the following T-SQL against master database to get your managed identity application ID as binary:

    DECLARE @applicationId uniqueidentifier = '{your managed identity application ID}'
    select CAST(@applicationId AS varbinary)
    
  4. Azure SQL Database Managed Instance에서 데이터 팩터리 관리 ID를 사용자로 추가합니다.Add the data factory managed identity as a user in Azure SQL Database Managed Instance. 마스터 데이터베이스에 대해 다음 T-SQL을 실행합니다.Run the following T-SQL against master database:

    CREATE LOGIN [{a name for the managed identity}] FROM EXTERNAL PROVIDER with SID = {your managed identity application ID as binary}, TYPE = E
    
  5. 데이터 팩터리 관리 ID에 필요한 사용 권한을 부여합니다.Grant the data factory managed identity needed permissions. 해당 역할에 대해서는 데이터베이스 수준 역할을 참조하세요.Refer to Database-Level Roles for appropriate roles. 데이터를 복사할 데이터베이스에 대해 다음 T-SQL을 실행합니다.Run the following T-SQL against the database from or to which you want to copy data:

    CREATE USER [{the managed identity name}] FOR LOGIN [{the managed identity name}] WITH DEFAULT_SCHEMA = dbo
    ALTER ROLE [role name] ADD MEMBER [{the managed identity name}]
    

그런 다음, OLE DB 연결 관리자를 위해 OLE DB 공급자를 구성합니다.Then configure OLE DB provider for the OLE DB connection manager. 이 작업을 수행하는 두 가지 옵션이 있습니다.There are two options to do this.

  1. 디자인 타임에 구성합니다.Configure at design time. SSIS 디자이너에서 OLE DB 연결 관리자를 두 번 클릭하여 연결 관리자 창을 엽니다.In SSIS Designer, double-click the OLE DB connection manager to open the Connection Manager window. 공급자 드롭다운 목록에서 Microsoft OLE DB Driver for SQL Server를 선택합니다.In the Provider drop-down list, select Microsoft OLE DB Driver for SQL Server.

    참고

    드롭다운 목록의 다른 공급자는 관리 ID 인증을 지원하지 않을 수 있습니다.Other providers in the drop-down list MIGHT NOT support managed identity authentication.

  2. 런타임에 구성합니다.Configure at run time. SSMS(SQL Server Management Studio) 또는 Azure Data Factory SSIS 패키지 실행 작업을 통해 OLE DB 연결 관리자에 대한 ConnectionString를 찾고 연결 속성 공급자MSOLEDBSQL(즉, Microsoft OLE DB Driver for SQL Server)로 설정합니다.When you execute the package via SQL Server Management Studio (SSMS) or Azure Data Factory Execute SSIS Package activity, find the connection manager property ConnectionString for the OLE DB connection manager and update the connection property Provider to MSOLEDBSQL (i.e, Microsoft OLE DB Driver for SQL Server).

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

끝으로, OLE DB 연결 관리자에 대해 관리 ID 인증을 구성합니다.Finally configure managed identity authentication for the OLE DB connection manager. 이 작업을 수행하는 두 가지 옵션이 있습니다.There are two options to do this.

  1. 디자인 타임에 구성합니다.Configure at design time. SSIS 디자이너에서 OLE DB 연결 관리자를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 속성 창을 엽니다.In SSIS Designer, right-click the OLE DB connection manager and click Properties to open the Properties Window. 속성 ConnectUsingManagedIdentityTrue로 업데이트합니다.Update the property ConnectUsingManagedIdentity to True.

    참고

    현재 연결 관리자 속성 ConnectUsingManagedIdentity는 SSIS Designer 또는 MicrosoftMicrosoft SQL Server에서 SSIS 패키지를 실행하는 경우 적용되지 않습니다(관리 ID 인증이 작동하지 않음).Currently the connection manager property ConnectUsingManagedIdentity DOES NOT take effect (indicating that managed identity authentication does not work) when you run SSIS package in SSIS Designer or MicrosoftMicrosoft SQL Server.

  2. 런타임에 구성합니다.Configure at run time. SSMS 또는 SQL 패키지 실행 작업을 통해 패키지를 실행하는 경우 OLE DB 연결 관리자를 찾아 해당 속성 ConnectUsingManagedIdentityTrue로 설정합니다.When you execute the package via SSMS or Execute SQL Package activity, find the OLE DB connection manager and update its property ConnectUsingManagedIdentity to True.

    참고

    Azure-SSIS 통합 런타임에서 OLE DB 연결 관리자에 미리 구성된 모든 다른 인증 방법(예: 통합 보안, 암호)은 관리 ID 인증을 사용하여 데이터베이스 연결을 설정하는 데 사용되는 경우 재정의됩니다.In Azure-SSIS integration runtime, all other authentication methods (e.g., integrated security, password) preconfigured on the OLE DB connection manager will be overridden when managed identity authentication is used to establish database connection.

참고

기존 패키지에서 관리 ID 인증을 구성하려면 새 연결 관리자 속성 ConnectUsingManagedIdentity가 SSIS 프로젝트의 모든 OLE DB 연결 관리자에 자동으로 추가되도록 적어도 최신 SSIS 디자이너를 한 번 이상 사용하여 SSIS 프로젝트를 다시 빌드하고 해당 SSIS 프로젝트를 Azure-SSIS 통합 런타임에 다시 배포하는 것이 좋습니다.To configure managed identity authentication on existing packages, the preferred way is to rebuild your SSIS project with the latest SSIS Designer at least once and redeploy that SSIS project to your Azure-SSIS integration runtime so that the new connection manager property ConnectUsingManagedIdentity will automatically be added to all OLE DB connection managers in your SSIS project. 또 다른 방법은 런타임에 속성 경로 \Package.Connections[{연결 관리자의 이름}].Properties[ConnectUsingManagedIdentity] 에 속성 재정의를 직접 사용하는 것입니다.The alternative way is to directly use property override with property path \Package.Connections[{the name of your connection manager}].Properties[ConnectUsingManagedIdentity] at run time.

참고 항목See Also

OLE DB 원본 OLE DB Source
OLE DB 대상 OLE DB Destination
SQL 실행 태스크 Execute SQL Task
Integration Services(SSIS) 연결Integration Services (SSIS) Connections