다음을 통해 공유


ADO.NET 연결 관리자

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

ADO.NET 연결 관리자를 사용하면 패키지에서 .NET 공급자를 사용하여 데이터 원본에 액세스할 수 있습니다. 일반적으로 이 연결 관리자를 사용하여 Microsoft SQL Server와 같은 데이터 원본에 액세스합니다. C#과 같은 언어를 사용하여 관리 코드로 작성된 사용자 지정 작업에서 OLE DB 및 XML을 통해 노출된 데이터 원본에 액세스할 수도 있습니다.

패키지에 ADO.NET 연결 관리자를 추가하면 SQL Server Integration Services는 런타임에 ADO.NET 연결로 확인되는 연결 관리자를 만듭니다. 연결 관리자 속성을 설정하고 패키지의 Connections 컬렉션에 연결 관리자 를 추가합니다.

연결 관리자의 ConnectionManagerType 속성이 ADO.NET로 설정됩니다. ConnectionManagerType 값은 연결 관리자가 사용하는 .NET 공급자의 이름을 포함하도록 한정됩니다.

참고 항목

Microsoft Entra ID는 이전의 Azure AD(Azure Active Directory)입니다.

ADO.NET 연결 관리자 문제 해결

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

ADO.NET 연결 관리자에서 특정 SQL Server 날짜 데이터 형식을 읽으면 다음 표에 표시된 결과가 생성됩니다.

SQL Server 데이터 형식 결과
time, datetimeoffset 매개 변수가 있는 SQL 명령이 패키지에 사용되지 않을 경우 패키지가 실패합니다. 매개 변수가 있는 SQL 명령을 사용하려면 패키지에서 SQL 실행 태스크를 사용하십시오. 자세한 내용은 SQL 실행 태스크매개 변수와 SQL 실행 태스크의 반환 코드를 참조하세요.
datetime2 ADO.NET 연결 관리자는 밀리초 값을 자릅니다.

참고 항목

SQL Server 데이터 형식 및 Integration Services 데이터 형식에 매핑하는 방법에 대한 자세한 내용은 데이터 형식(Transact-SQL)Integration Services 데이터 형식을 참조하세요.

ADO.NET 연결 관리자 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

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

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

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

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

ADO.NET 연결 관리자의 많은 구성 옵션은 연결 관리자가 사용하는 .NET 공급자에 따라 달라집니다.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 ADO.NET연결 관리자 구성을 참조하세요.

연결 관리자를 프로그래밍 방식으로 구성하는 방법에 대한 자세한 내용은 ConnectionManager프로그래밍 방식으로 연결 추가를 참조하세요.

ADO.NET 연결 관리자 구성

ADO.NET 연결 관리자 구성 대화 상자를 사용하면 .NET Framework 데이터 공급자를 사용하여 액세스할 수 있는 데이터 원본에 연결을 추가할 수 있습니다. 예를 들어 이러한 공급자 중 하나는 SqlClient 공급자입니다. 연결 관리자는 기존 연결을 사용하거나 새 연결을 만들 수 있습니다.

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

옵션

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

데이터 연결 속성
선택한 ADO.NET 데이터 연결의 속성과 값을 봅니다.

New
연결 관리자 대화 상자를 사용하여 ADO.NET 데이터 연결을 만듭니다.

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

Azure 리소스 인증용 관리 ID

ADF(Azure Data Factory)의 IR(Azure-SSIS Integration Runtime)에서 SSIS 패키지를 실행할 때 ADF의 관리 ID를 사용하여 Microsoft Entra 인증을 사용하여 Azure SQL Database 또는 SQL 관리 인스턴스에 액세스할 수 있습니다. Azure-SSIS IR은 이 관리 ID를 사용하여 데이터베이스로부터 또는 데이터베이스로 데이터에 액세스하고 복사할 수 있습니다.

참고 항목

  • 사용자 할당 관리 ID를 사용하여 인증하는 경우 동일한 ID로 인증할 때 SSIS 통합 런타임을 사용하도록 설정해야 합니다. 자세한 내용은 Azure-SSIS 통합 런타임에 대해 Microsoft Entra 인증 사용을 참조하세요.

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

ADF가 관리 ID를 사용하여 Azure SQL Database에 액세스할 수 있도록 하려면 다음 단계를 수행합니다.

  1. 아직 수행하지 않은 경우 Azure Portal을 통한 Azure SQL Database의 논리 서버에 대해 Microsoft Entra 관리자를 프로비전합니다. Microsoft Entra 관리자는 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 그룹을 관리자로 할당하는 경우, 그리고 ADF의 관리 ID가 그룹의 멤버인 경우, 2단계와 3단계를 건너뛸 수 있습니다. 관리자는 논리 서버에 대한 모든 권한을 줍니다.

  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를 사용하는 경우 관리 ID 이름은 ADF 이름입니다. ADF에 대한 사용자 할당 관리 ID를 사용하는 경우 관리 ID 이름은 관리 ID의 이름이어야 합니다.

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

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

ADF에 할당된 관리 ID를 사용하여 Azure SQL Managed Instance에 액세스하려면 다음 단계를 수행합니다.

  1. 아직 수행하지 않은 경우 Azure Portal에서 Azure SQL 관리 인스턴스에 대해 Microsoft Entra 관리자를 프로비전합니다. Microsoft Entra 관리자는 사용자 또는 Microsoft Entra 그룹일 수 있습니다. 그룹을 관리자로 할당하고 관리 ID가 해당 그룹의 구성원인 경우 2-4단계를 건너뛸 수 있습니다. 관리자는 관리 인스턴스에 대한 전체 액세스 권한을 가집니다.

  2. ADF의 관리 ID에 할당된 로그인을 만듭니다. SSMS에서 sysadmin 권한이 있는 계정 또는 Microsoft Entra 관리자를 사용하여 관리되는 인스턴스에 연결합니다. master 데이터베이스에서 다음 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];
    

마지막으로, ADO.NET 연결 관리자에서 ADF의 관리 ID를 사용하는 Microsoft Entra 인증을 구성할 수 있습니다. 이 작업을 수행하는 두 가지 옵션이 있습니다.

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

    참고 항목

    SSIS 디자이너 또는 SQL Server에서 패키지를 실행할 때 ADF의 관리 ID를 사용한 Microsoft Entra 인증이 작동하지 않음을 나타내는 연결 관리자 속성 ConnectUsingManagedIdentity이(가) 적용되지 않습니다.

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

    참고 항목

    Azure-SSIS IR에서 ADO.NET 연결 관리자에 미리 구성된 다른 인증 방법(예: 통합 보안 및 암호)은 Microsoft Entra 인증을 ADF의 관리 ID와 함께 사용할 때 모두 재정의됩니다.

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

참고 항목