Azure Logic Apps의 워크플로에서 SQL 데이터베이스에 연결

적용 대상: Azure Logic Apps(사용량 + 표준)

이 방법 가이드에서는 SQL Server 커넥터를 사용하여 Azure Logic Apps의 워크플로에서 SQL 데이터베이스에 액세스하는 방법을 보여줍니다. 그런 다음, SQL 데이터베이스 또는 다른 시스템의 이벤트에 의해 트리거될 때 실행되는 자동화된 워크플로를 만들고 작업을 실행하여 SQL 데이터 및 리소스를 관리할 수 있습니다.

예를 들어 워크플로는 데이터를 가져오고, 삽입하고, 삭제하거나 SQL 쿼리 및 저장 프로시저를 실행할 수 있는 작업을 실행할 수 있습니다. 워크플로는 SQL이 아닌 데이터베이스의 새 레코드를 확인하고, 처리 작업을 수행하고, 결과를 사용하여 SQL 데이터베이스에 새 레코드를 만들고, 새 레코드에 대한 이메일 경고를 보낼 수 있습니다.

Azure Logic Apps를 처음 사용하는 경우 다음 시작 문서를 참조하세요.

지원되는 SQL 버전

SQL Server 커넥터는 다음 SQL 버전을 지원합니다.

커넥터 기술 참조

SQL Server 커넥터는 논리 앱 유형 및 호스트 환경에 따라 여러 버전이 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps 디자이너에서 표준 레이블 아래에 표시되는 관리형 커넥터. 자세한 내용은 다음 설명서를 검토하세요.

- SQL Server 관리형 커넥터 참조
- Azure Logic Apps의 관리형 커넥터
소비 ISE(통합 서비스 환경) 디자이너에서 표준 레이블 아래에 표시되는 관리형 커넥터 및 표준 클래스와 다른 메시지 한도가 있는 ISE 버전. 자세한 내용은 다음 설명서를 검토하세요.

- SQL Server 관리형 커넥터 참조
- ISE 메시지 제한
- Azure Logic Apps의 관리형 커넥터
Standard 단일 테넌트 Azure Logic Apps 및 App Service Environment v3(Windows 플랜만 해당) 런타임>공유 아래의 커넥터 갤러리에 표시되는 관리형 커넥터 및 런타임>앱 내의 커넥터 갤러리에 표시되고 서비스 공급자 기반인 기본 제공 커넥터. 기본 제공 커넥터는 다음과 같은 차이점이 있습니다.

- 기본 제공 커넥터는 온-프레미스 데이터 게이트웨이를 사용하지 않고 연결 문자열을 사용하여 SQL 데이터베이스에 직접 연결하고 Azure 가상 네트워크에 액세스할 수 있습니다.

자세한 내용은 다음 설명서를 검토하세요.

- SQL Server 관리형 커넥터 참조
- SQL Server 기본 제공 커넥터 참조
- Azure Logic Apps의 기본 제공 커넥터

제한 사항

자세한 내용은 SQL Server 관리형 커넥터 참조 또는 SQL Server 기본 제공 커넥터 참조를 검토하세요.

필수 조건

  • Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.

  • SQL Server 데이터베이스, Azure SQL Database 또는 SQL Managed Instance.

    SQL Server 커넥터를 사용하려면 커넥터 작업이 호출되었을 때 결과를 반환할 수 있도록 테이블에 데이터가 있어야 합니다. 예를 들어 Azure SQL Database를 사용하는 경우 포함된 샘플 데이터베이스를 사용하여 SQL Server 커넥터 작업을 시도할 수 있습니다.

  • SQL Server 및 데이터베이스 이름과 같은 SQL 데이터베이스 연결을 만드는 데 필요한 정보입니다. Windows 인증 또는 SQL Server 인증을 사용하여 액세스를 인증하는 경우 사용자 이름과 암호도 필요합니다. 일반적으로 이 정보는 연결 문자열에서 찾을 수 있습니다.

    Important

    Azure Portal에서 직접 복사한 SQL Server 연결 문자열을 사용하는 경우 수동으로 연결 문자열에 암호를 추가해야 합니다.

    • Azure의 SQL 데이터베이스인 경우 연결 문자열 형식은 다음과 같습니다.

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

      1. Azure Portal에서 이 문자열을 찾으려면 데이터베이스를 엽니다.

      2. 데이터베이스 메뉴의 속성에서 연결 문자열을 선택합니다.

    • 온-프레미스 SQL 서버의 경우 연결 문자열의 형식은 다음과 같습니다.

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

  • 표준 워크플로에서 SQL 기본 제공 트리거를 사용하려면 트리거를 사용하려는 테이블에서 변경 내용 추적을 사용하도록 설정해야 합니다. 자세한 내용은 변경 내용 추적 사용 및 사용 안 함을 참조하세요.

  • SQL 데이터베이스에 액세스하려는 논리 앱 워크플로. SQL Server 트리거를 사용하여 워크플로를 시작하려면 빈 워크플로로 시작해야 합니다. SQL Server 작업을 사용하려면 트리거를 사용하여 워크플로를 시작합니다.

  • 온-프레미스 SQL Server에 연결하려면 사용량 또는 표준 논리 앱 워크플로 중에 무엇을 갖고 있는지에 따라 다음과 같은 추가 요구 사항이 적용됩니다.

SQL Server 트리거 추가

다음 단계에서는 Azure Portal을 사용합니다. 그러나 적절한 Azure Logic Apps 확장이 있으면 다음 도구를 사용하여 논리 앱 워크플로를 만들 수도 있습니다.

  1. Azure Portal의 디자이너에서 사용량 논리 앱과 빈 워크플로를 엽니다.

  2. 디자이너의 검색 상자 아래에서 표준을 선택합니다. 그런 다음, 이러한 일반적인 단계를 수행하여 원하는 SQL Server 관리 트리거를 추가합니다.

    이 예제에서는 항목이 만들어진 경우라는 트리거를 계속 사용합니다.

  3. 메시지가 표시되면 연결 정보를 제공합니다. 완료되면 만들기를 선택합니다.

  4. 트리거 정보 상자가 나타나면 선택한 트리거에서 요구하는 필요 정보를 입력합니다.

    이 예제의 경우 항목이 생성될 때라는 트리거에 SQL Server 이름과 데이터베이스 이름을 제공합니다(이전에 제공하지 않은 경우). 그렇지 않으면 테이블 이름 목록에서 사용하려는 테이블을 선택합니다. 빈도간격을 선택하여 트리거가 새 항목을 확인하는 일정을 설정합니다.

    Screenshot shows Consumption workflow designer and managed action named When an item is created.

  5. 이 트리거에 다른 속성을 사용할 수 있는 경우 새 매개 변수 목록 추가를 열고 시나리오와 관련된 해당 속성을 선택합니다.

    이 트리거에서는 선택한 테이블에서 한 행만 반환하며, 그 외에는 아무것도 반환하지 않습니다. 다른 작업을 수행하려면 논리 앱 워크플로에서 원하는 다음 작업을 수행하는 SQL Server 커넥터 작업 또는 다른 작업을 추가하여 계속합니다.

    예를 들어 이 행의 데이터를 보려면 반환된 행의 필드를 포함하는 파일을 만드는 다른 작업을 추가하고 메일 알림을 보낼 수 있습니다. 이 커넥터에 사용할 수 있는 다른 작업에 대해 알아보려면 SQL Server 관리형 커넥터 참조를 확인하세요.

  6. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

워크플로를 저장하면 이 단계는 Azure에 있는 배포된 논리 앱에 업데이트 내용을 자동으로 게시합니다. 트리거만 있으면 워크플로는 지정된 일정에 따라 SQL 데이터베이스를 확인하기만 합니다. 트리거에 응답하는 작업을 추가해야 합니다.

SQL Server 작업 추가

다음 단계에서는 Azure Portal을 사용합니다. 하지만 적절한 Azure Logic Apps 확장이 있으면 Visual Studio를 사용하여 사용량 논리 앱 워크플로를 편집하거나 다음 도구에 Visual Studio Code를 사용하여 논리 앱 워크플로를 편집할 수도 있습니다.

이 예제에서는 논리 앱 워크플로가 되풀이 트리거로 시작되고, SQL 데이터베이스에서 행을 가져오는 작업을 호출합니다.

  1. Azure Portal에서 디자이너를 통해 사용량 논리 앱 및 워크플로를 엽니다.

  2. 디자이너에서 다음 일반적인 단계를 수행하여 원하는 SQL Server 관리 작업을 추가합니다.

    다음 예제는 단일 레코드를 가져오는 행 가져오기라는 작업으로 계속 진행됩니다.

  3. 메시지가 표시되면 연결 정보를 제공합니다. 완료되면 만들기를 선택합니다.

  4. 작업 정보 상자가 나타나면 테이블 이름 목록에서 사용하려는 테이블을 선택합니다. 행 ID 속성에 원하는 레코드의 ID를 입력합니다.

    이 예제의 경우 테이블 이름은 SalesLT.Customer입니다.

    Screenshot shows Consumption workflow designer and action named Get row with the example table name and empty row ID.

    이 작업은 선택한 테이블에서 한 행만 반환하고 그 외에는 아무것도 반환하지 않습니다. 이 행의 데이터를 보려면 다른 작업을 추가합니다. 예를 들어 파일을 만들고, 반환된 행의 필드를 포함하고, 파일을 클라우드 스토리지 계정에 저장하는 작업을 추가합니다. 이 커넥터에 대해 사용할 수 있는 다른 작업에 대해 알아보려면 커넥터의 참조 페이지를 참조하세요.

  5. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

데이터베이스 연결

서비스 또는 시스템에 연결하는 트리거 또는 작업을 추가하고 기존 또는 활성 연결이 없는 경우 Azure Logic Apps는 연결 형식에 따라 달라지는 연결 정보를 제공하라는 메시지를 표시합니다. 예를 들면 다음과 같습니다.

  • 사용자의 계정 자격 증명
  • 연결에 사용할 이름
  • 서버 또는 시스템의 이름
  • 사용할 인증 유형
  • 연결 문자열

이 정보를 제공한 후에는 대상 데이터베이스에 따라 다음 단계를 계속 진행합니다.

Azure SQL Database 또는 SQL Managed Instance에 연결

온-프레미스 데이터 게이트웨이 또는 통합 서비스 환경을 사용하지 않고 SQL Managed Instance에 액세스하려면 SQL Managed Instance에서 공용 엔드포인트를 설정해야 합니다. 퍼블릭 엔드포인트는 포트 3342를 사용하므로 논리 앱에서 연결을 만들 때 이 포트 번호를 지정해야 합니다.

연결 정보 상자에서 다음 단계를 완료합니다.

  1. 연결 이름에는 이 연결의 이름을 입력합니다.

  2. 인증 유형에서는 Azure SQL Database 또는 SQL Managed Instance에서 사용자 데이터베이스에 필요하고 사용하도록 설정된 인증을 선택합니다.

    인증 설명
    연결 문자열 - SQL Server 기본 제공 커넥터를 사용하는 표준 워크플로에서만 지원됩니다.

    - SQL 서버 및 데이터베이스에 대한 연결 문자열이 필요합니다.
    Active Directory OAuth - SQL Server 기본 제공 커넥터를 사용하는 표준 워크플로에서만 지원됩니다. 자세한 내용은 다음 설명서를 참조하세요.

    - SQL Server 커넥터에 대한 인증
    - Microsoft Entra ID OAuth(Microsoft Entra ID 공개 인증) 사용
    - Microsoft Entra ID 공개 인증
    Logic Apps 관리 ID - SQL Server 관리형 커넥터 및 ISE 버전 커넥터에서 지원됩니다. 표준 워크플로에서는 이 인증 유형을 SQL Server 기본 제공 커넥터에 사용할 수 있지만, 대신 옵션의 이름은 관리 ID입니다.

    - 다음 항목이 필요합니다.

    --- 논리 앱 리소스에서 사용하도록 설정되고 데이터베이스에 액세스할 수 있는 유효한 관리 ID

    --- SQL Server 리소스에 대한 SQL DB 기여자 역할 액세스

    --- SQL Server 리소스를 포함하는 리소스 그룹에 대한 기여자 액세스

    자세한 내용은 다음 설명서를 참조하세요.

    - SQL Server 커넥터에 대한 관리 ID 인증
    - SQL - 서버 수준 역할
    서비스 주체(Microsoft Entra 애플리케이션) - SQL Server 관리형 커넥터에서 지원됩니다.

    - Microsoft Entra 애플리케이션과 서비스 주체가 필요합니다. 자세한 내용은 Azure Portal을 사용하여 리소스에 액세스할 수 있는 Microsoft Entra 애플리케이션과 서비스 주체 만들기를 참조하세요.
    Microsoft Entra 통합 - SQL Server 관리형 커넥터 및 ISE 버전 커넥터에서 지원됩니다.

    - 논리 앱 리소스에서 사용하도록 설정되고 데이터베이스에 액세스할 수 있는Microsoft Entra의 유효한 관리 ID가 필요합니다. 자세한 내용은 다음 항목을 참조하세요.

    - Azure SQL 보안 개요 - 인증
    - Azure SQL에 대한 데이터베이스 액세스 권한 부여 - 인증 및 권한 부여
    - Azure SQL - Microsoft Entra 통합 인증
    SQL Server 인증 - SQL Server 관리형 커넥터 및 ISE 버전 커넥터에서 지원됩니다.

    - 다음 항목이 필요합니다.

    --- 논리 앱이 다중 테넌트 Azure Logic Apps에 있든 ISE에 있든 관계없이, 이전에 연결을 위해 Azure에서 만든 데이터 게이트웨이 리소스

    --- SQL Server 데이터베이스에 만들고 저장한 유효한 사용자 이름과 강력한 암호. 자세한 내용은 아래 항목을 참조하세요.

    - Azure SQL 보안 개요 - 인증
    - Azure SQL에 대한 데이터베이스 액세스 권한 부여 - 인증 및 권한 부여

    다음 예제에서는 SQL Server 관리 커넥터를 사용하고 Microsoft Entra 통합 인증을 선택하면 연결 정보 상자가 어떻게 표시되는지 보여줍니다.

    소비 워크플로

    Screenshot shows Azure portal, Consumption workflow, and SQL Server cloud connection information with selected authentication type.

    표준 워크플로

    Screenshot shows Azure portal, Standard workflow, and SQL Server cloud connection information with selected authentication type.

  3. Microsoft Entra 통합을 선택한 후 로그인을 선택합니다. Azure SQL Database 또는 SQL Managed Instance를 사용하는지 여부에 따라 인증에 사용할 사용자 자격 증명을 선택합니다.

  4. 데이터베이스에 대해 다음 값을 선택합니다.

    속성 필수 설명
    서버 이름 SQL Server 주소(예: Fabrikam-Azure-SQL.database.windows.net)
    데이터베이스 이름 SQL 데이터베이스의 이름(예: Fabrikam-Azure-SQL-DB)
    테이블 이름 사용하려는 테이블(예: SalesLT.Customer)

    데이터베이스 및 테이블 정보를 제공하기 위해 다음 옵션을 사용할 수 있습니다.

    • 데이터베이스의 연결 문자열에서 이 정보를 찾습니다. 예를 들어 Azure Portal에서 데이터베이스를 찾아서 엽니다. 데이터베이스 메뉴에서 다음 문자열을 찾을 수 있는 연결 문자열 또는 속성을 선택합니다.

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    • 기본적으로 시스템 데이터베이스의 테이블은 필터링되므로 시스템 데이터베이스를 선택할 때 자동으로 나타나지 않을 수 있습니다. 또는 데이터베이스 목록에서 사용자 지정 값 입력을 선택한 후 테이블 이름을 수동으로 입력할 수 있습니다.

    이 데이터베이스 정보 상자는 다음 예제와 유사합니다.

    소비 워크플로

    Screenshot shows SQL cloud database cloud information with sample values for Consumption.

    표준 워크플로

    Screenshot shows SQL cloud database information with sample values for Standard.

  5. 이제 SQL 트리거 추가 또는 SQL 작업 추가에서 아직 완료하지 않은 단계를 계속 진행합니다.

온-프레미스 SQL Server에 연결

연결 정보 상자에서 다음 단계를 완료합니다.

  1. 온-프레미스 데이터 게이트웨이가 필요한 온-프레미스 SQL Server에 연결하는 경우 이러한 필수 구성 요소를 완료했는지 확인합니다.

    그렇지 않으면 연결을 만들 때 데이터 게이트웨이 리소스가 연결 게이트웨이 목록에 표시되지 않습니다.

  2. 인증 유형의 경우 SQL Server에 필요하고 사용하도록 설정된 인증을 선택합니다.

    인증 설명
    SQL Server 인증 - SQL Server 관리형 커넥터, SQL Server 기본 제공 커넥터 및 ISE 버전 커넥터에서 지원됩니다.

    - 다음 항목이 필요합니다.

    --- 논리 앱이 다중 테넌트 Azure Logic Apps에 있든 ISE에 있든 관계없이, 이전에 연결을 위해 Azure에서 만든 데이터 게이트웨이 리소스

    - SQL Server에 생성되고 저장되는 유효한 사용자 이름과 강력한 암호

    자세한 내용은 SQL Server 인증을 참조하세요.
    Windows 인증 - SQL Server 관리형 커넥터에서 지원됩니다.

    - 다음 항목이 필요합니다.

    --- 논리 앱이 다중 테넌트 Azure Logic Apps에 있든 ISE에 있든 관계없이, 이전에 연결을 위해 Azure에서 만든 데이터 게이트웨이 리소스

    - Windows 계정을 통해 ID를 확인하려면 올바른 Windows 사용자 이름 및 암호

    자세한 내용은 Windows 인증을 참조하세요.
  3. SQL Database에 대해 다음 값을 선택하거나 제공합니다.

    속성 필수 설명
    SQL Server 이름 SQL Server에 사용할 주소입니다. 예: Fabrikam-Azure-SQL.database.windows.net
    SQL 데이터베이스 이름 SQL Server 데이터베이스의 이름입니다. 예: Fabrikam-Azure-SQL-DB
    사용자 이름 SQL Server 및 데이터베이스의 사용자 이름입니다.
    암호 SQL Server 및 데이터베이스의 암호입니다.
    구독 예, Windows 인증의 경우 Azure에서 이전에 만든 데이터 게이트웨이 리소스에 대한 Azure 구독
    연결 게이트웨이 예, Windows 인증의 경우 Azure에서 이전에 만든 데이터 게이트웨이 리소스에 대한 이름



    : 게이트웨이가 목록에 나타나지 않으면 올바르게 게이트웨이를 설정했는지 확인합니다.

    데이터베이스의 연결 문자열에서 이 정보를 찾을 수 있습니다.

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

    다음 예제에서는 Windows 인증을 선택하면 연결 정보 상자가 어떻게 표시되는지 보여줍니다.

    소비 워크플로

    Screenshot shows Azure portal, Consumption workflow, and SQL Server on-premises connection information with selected authentication.

    표준 워크플로

    Screenshot shows Azure portal, Standard workflow, and SQL Server on-premises connection information with selected authentication.

  4. 준비가 되면 만들기를 선택합니다.

  5. 이제 SQL 트리거 추가 또는 SQL 작업 추가에서 아직 완료하지 않은 단계를 계속 진행합니다.

대량 데이터 처리

결과 집합이 너무 커서 커넥터가 모든 결과를 한꺼번에 반환하지 못하는 경우가 가끔 있습니다. 또는 결과 집합의 크기와 구조를 보다 정밀하게 제어하고 싶을 수 있습니다. 다음은 이처럼 큰 결과 집합을 처리할 수 있는 몇 가지 방법입니다.

동적 대량 데이터 처리

SQL Server 커넥터를 사용하여 저장 프로시저를 호출할 때 반환되는 출력이 동적인 경우가 있습니다. 이 시나리오에서는 다음 단계를 수행합니다.

  1. Azure Portal의 디자이너에서 논리 앱과 워크플로를 엽니다.

  2. 테스트 실행을 수행하여 출력 형식을 봅니다. 샘플 출력을 복사하고 저장합니다.

  3. 디자이너의 저장 프로시저를 호출하는 작업 아래에서 JSON 구문 분석이라는 기본 제공 작업을 추가합니다.

  4. JSON 구문 분석 작업에서 샘플 페이로드를 사용하여 스키마 생성을 선택합니다.

  5. 샘플 JSON 페이로드 입력 또는 붙여넣기 상자에서 샘플 출력을 붙여넣은 후 완료를 선택합니다.

    참고 항목

    Azure Logic Apps가 스키마를 생성할 수 없다는 오류 메시지가 표시되는 경우 샘플 출력의 구문의 형식이 올바르게 지정되었는지 확인합니다. 그래도 스키마를 생성할 수 없는 경우 스키마 상자에 수동으로 입력합니다.

  6. 완료되면 워크플로를 저장합니다.

  7. JSON 콘텐츠 속성을 참조하려면 동적 콘텐츠 목록이 표시되도록 해당 속성을 참조하려는 편집 상자 내부를 선택합니다. 목록의 Json 구문 분석 제목 아래에서 원하는 JSON 콘텐츠 속성에 대한 데이터 토큰을 선택합니다.

다음 단계