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 공급자는 다중 서브넷 장애 조치(failover) 클러스터링에 대한 새 연결 문자열 키워드(MultiSubnetFailover=True)를 지원하지 않습니다. 자세한 내용은 SQL Server 2016 릴리스 정보를 참조하세요.

참고

데이터 원본이 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 연결 관리자를 구성합니다.

  • 선택된 공급자에 대한 요구 사항을 만족하도록 구성된 특정 연결 문자열을 제공합니다.

  • 공급자에 따라 연결할 데이터 원본의 이름을 포함시킵니다.

  • 선택된 공급자에 적합한 보안 자격 증명을 제공합니다.

  • 연결 관리자에서 만든 연결이 런타임에 유지될지 여부를 나타냅니다.

로그 호출 및 연결 문제 해결

OLEDB 연결 관리자가 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다. 그런 다음 OLEDB 연결 관리자가 수행하는 외부 데이터 원본에 대한 연결 문제를 해결할 수 있습니다. OLEDB 연결 관리자가 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 사용하도록 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다. 자세한 내용은 패키지 실행 문제 해결 도구를 참조하세요.

OLEDB 연결 관리자 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다. SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 OLEDB 연결 관리자 구성을 참조하세요. 프로그래밍 방식으로 연결 관리자를 구성하는 방법은 개발자 가이드에서 T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager 클래스에 대한 설명서를 참조하십시오.

OLEDB 연결 관리자 구성

OLEDB 연결 관리자 구성 대화 상자를 사용하여 데이터 원본에 대한 연결을 추가할 수 있습니다. 이 연결은 새 연결이거나 기존 연결의 복사본일 수 있습니다.

참고

데이터 원본이 Microsoft Office Excel 2007인 경우 이 데이터 원본에는 이전 버전의 Excel과 다른 연결 관리자가 필요합니다. 자세한 내용은 Excel 통합 문서에 연결을 참조하세요.

데이터 원본이 Microsoft Office Access 2007인 경우 이 데이터 원본에는 이전 버전의 Access와 다른 OLEDB 공급자가 필요합니다. 자세한 내용은 Access 데이터베이스에 연결을 참조하세요.

OLEDB 연결 관리자에 대한 자세한 내용은 OLEDB 연결 관리자를 참조하세요.

옵션

데이터 연결
목록에서 기존 OLEDB 데이터 연결을 선택합니다.

데이터 연결 속성
선택한 OLEDB 데이터 연결의 속성과 값을 표시합니다.

새 항목
연결 관리자 대화 상자를 사용하여 OLEDB 데이터 연결을 만듭니다.

Delete
데이터 연결을 선택한 다음 삭제를 선택하여 삭제합니다.

Azure 리소스 인증을 위한 관리 ID

ADF(Azure Data Factory)의 Azure-SSIS IR(Integration Runtime)에서 SSIS 패키지를 실행하는 경우 AAD(Azure Active Directory) 인증을 ADF에 대해 지정된 시스템/사용자 할당 관리 ID와 함께 사용하여 Azure SQL Database 서버/Managed Instance에 액세스할 수 있습니다. Azure-SSIS IR은 이 관리 ID를 사용하여 데이터베이스의 데이터에 액세스하고 복사할 수 있습니다.

참고

AAD 인증을 사용하여 Azure SQL Database 서버/Managed Instance에 연결하는 경우 패키지 실행 실패 또는 예기치 않은 동작 변경과 관련된 문제가 발생할 수 있습니다. 자세한 내용은 AAD 기능 및 제한 사항을 참조하세요.

AAD 인증을 ADF에 대해 지정된 시스템/사용자 할당 관리와 함께 사용하여 Azure SQL Database 서버에 액세스하려면 다음 단계를 수행합니다.

  1. 아직 수행하지 않은 경우 Azure Portal에서 Azure SQL Database 서버에 대한 AAD 관리자를 프로비전합니다. AAD 관리자는 AAD 사용자 또는 그룹일 수 있습니다. ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 가진 그룹에 관리자 역할을 부여하는 경우에는 2~3단계를 건너뜁니다. 관리자는 Azure SQL Database 서버에 대한 전체 액세스 권한을 가집니다.

  2. ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 나타내는 포함된 데이터베이스 사용자를 만듭니다. ALTER ANY USER 이상의 권한을 가진 AAD 사용자를 통해 SSMS(SQL Server Management Studio)를 사용하여 데이터를 복사하려는 데이터베이스에 연결합니다. 다음 T-SQL 문을 실행합니다.

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

    ADF에 대한 시스템 관리 ID를 사용하는 경우 관리 ID 이름은 ADF 이름이어야 합니다. ADF에 대한 사용자 할당 관리 ID를 사용하는 경우 관리 ID 이름은 지정된 사용자 할당 관리 ID 이름이어야 합니다.

  3. 일반적으로 SQL 사용자에 대해 수행하는 것처럼 ADF에 대해 지정된 시스템/사용자 할당 관리 ID에 필요한 권한을 부여합니다. 해당 역할에 대해서는 데이터베이스 수준 역할을 참조하세요. 다음 T-SQL 문을 실행합니다. 자세한 옵션은 이 문서를 참조하세요.

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

AAD 인증을 ADF에 대해 지정된 시스템/사용자 할당 관리와 함께 사용하여 Azure SQL Managed Instance에 액세스하려면 다음 단계를 수행합니다.

  1. 아직 수행하지 않은 경우 Azure Portal에서 Azure SQL Managed Instance에 대한 AAD 관리자를 프로비전합니다. AAD 관리자는 AAD 사용자 또는 그룹일 수 있습니다. ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 가진 그룹에 관리자 역할을 부여하는 경우에는 2~4단계를 건너뜁니다. 관리자는 Azure SQL Managed Instance에 대한 전체 액세스 권한을 가집니다.

  2. ADF에 대해 지정된 시스템/사용자 할당 관리 ID에 할당된 로그인을 만듭니다. SSMS에서 sysadmin인 SQL Server 계정을 사용하여 Azure SQL Managed Instance에 연결합니다. 마스터 데이터베이스에서 다음 T-SQL 문을 실행합니다.

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

    ADF에 대한 시스템 관리 ID를 사용하는 경우 관리 ID 이름은 ADF 이름이어야 합니다. ADF에 대한 사용자 할당 관리 ID를 사용하는 경우 관리 ID 이름은 지정된 사용자 할당 관리 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를 선택합니다.

    참고

    드롭다운 목록의 다른 공급자는 ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 사용하는 AAD 인증을 지원하지 않을 수 있습니다.

  • 런타임에 구성합니다. SSMS 또는 ADF 파이프라인에서 SSIS 패키지 작업 실행을 통해 패키지를 실행하는 경우 OLEDB 연결 관리자에 대한 ConnectionString 연결 관리자 속성을 찾습니다. 연결 속성 ProviderMSOLEDBSQL(즉, Microsoft OLEDB Driver for SQL Server)로 업데이트합니다.

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

마지막으로 OLEDB 연결 관리자에서 ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 사용하는 AAD 인증을 구성할 수 있습니다. 다음은 이 작업을 수행하는 옵션입니다.

  • 디자인 타임에 구성합니다. SSIS 디자이너에서 OLEDB 연결 관리자를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. ConnectUsingManagedIdentity 속성을 True로 업데이트합니다.

    참고

    현재 SSIS 디자이너 또는 SQL Server에서 패키지를 실행하는 경우 연결 관리자 속성 ConnectUsingManagedIdentity가 적용되지 않습니다(ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 사용하는 AAD 인증이 작동하지 않음).

  • 런타임에 구성합니다. SSMS 또는 ADF 파이프라인에서 SSIS 패키지 작업 실행을 통해 패키지를 실행하는 경우 OLEDB 연결 관리자에서 ConnectUsingManagedIdentity 속성을 True로 업데이트합니다.

    참고

    Azure-SSIS IR에서 OLEDB 연결 관리자에 미리 구성된 다른 인증 방법(예: 통합 보안 및 암호)은 AAD 인증을 ADF에 대해 지정된 시스템/사용자 할당 관리 ID와 함께 사용할 때 모두 재정의됩니다.

기존 패키지에서 ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 사용하는 AAD 인증을 구성하려면 최신 SSIS 디자이너를 사용하여 SSIS 프로젝트를 한 번 이상 다시 빌드하는 것이 좋습니다. 프로젝트의 모든 OLEDB 연결 관리자에 새 연결 관리자 속성 ConnectUsingManagedIdentity가 자동으로 추가되도록 Azure-SSIS IR에서 실행할 SSIS 프로젝트를 다시 배포합니다. 또 다른 방법은 런타임 시 True에 할당된 속성 경로 \Package.Connections[{연결 관리자의 이름}].Properties[ConnectUsingManagedIdentity] 에 속성 재정의를 직접 사용하는 것입니다.

참조