다음을 통해 공유


일반 SQL 커넥터 기술 참조

이 문서에서는 일반 SQL 커넥터에 대해 설명합니다. 이 문서는 다음 제품에 적용됩니다.

MIM2016 경우 커넥터는 Microsoft 다운로드 센터에서 다운로드할 수 있습니다.

작업에서 이 커넥터를 보려면 Generic SQL Connector step-by-step(일반 SQL 커넥터 단계별) 문서를 참조하세요.

참고 항목

이제 Microsoft Entra ID 는 MIM 동기화 배포 없이도 사용자를 SQL 데이터베이스에 프로비전하기 위한 간단한 에이전트 기반 솔루션을 제공합니다. 아웃바운드 사용자 프로비저닝에 사용하는 것이 좋습니다. 자세히 알아보기.

일반 SQL 커넥터 개요

일반 SQL 커넥터를 사용하면 ODBC 연결을 제공하는 데이터베이스 시스템과 동기화 서비스를 통합할 수 있습니다.

대략적인 관점에서 다음 기능은 커넥터의 현재 릴리스에서 지원됩니다.

기능 지원
연결된 데이터 원본 커넥터는 모든 64비트 ODBC 드라이버*에서 지원됩니다. 다음으로 테스트되었습니다.
  • Microsoft SQL Server 및 SQL Azure
  • IBM DB2 11.5.8
  • Oracle 11g
  • Oracle 12c 및 18c
  • Oracle 21c 및 23c
  • MySQL 5.x
  • MySQL 8.x
  • Postgres
  • 시나리오
  • 개체 수명 주기 관리
  • 암호 관리
  • 작업
  • 전체 가져오기 및 델타 가져오기, 내보내기
  • 내보내기: 추가, 삭제, 업데이트 및 바꾸기
  • 암호 설정, 암호 변경
  • 스키마
  • 개체 및 특성의 동적 검색
  • 필수 조건

    커넥터를 사용하기 전에 동기화 서버에 다음 사항이 있는지 확인합니다.

    • Microsoft .NET 4.6.2 프레임워크 이상
    • 64비트 ODBC 클라이언트 드라이버
    • 커넥터를 사용하여 Oracle 12c와 통신하는 경우 ODBC 패키지와 함께 Oracle Instant Client 12.2.0.1 이상이 필요합니다.
    • 커넥터를 사용하여 Oracle 18c-23c와 통신하는 경우 ODBC 패키지와 함께 Oracle Instant Client 18-23 이상과 UTF8 문자(예: NLS_LANG=AMERICAN_AMERICA)를 지원하도록 NLS_LANG 시스템 변수를 설정해야 합니다. AL32UTF8.
    • 이 커넥터는 트랜잭션당 SQL 준비된 문과 여러 문을 사용합니다. 일부 RDBM 시스템에는 트랜잭션 처리, 서버 쪽 준비 SQL 문 및 동일한 트랜잭션 내의 여러 문과 관련된 ODBC 드라이버에 문제가 있을 수 있습니다. 해당 문이 데이터베이스로 올바르게 전송되도록 DSN 연결 옵션을 적절하게 구성하세요. 예를 들어 MySQL ODBC Driver 버전 8.0.32에는 NO_SSPS=1 및 MULTI_STATEMENTS=1 옵션이 필요합니다. 'autocommit' 또는 '성공한 작업에만 커밋'와 같은 다른 옵션은 일괄 처리 내보내기가 처리되는 방식에 영향을 줄 수 있습니다. 자세한 내용은 데이터베이스 관리자에게 문의하세요. 내보내기 중에 발생하는 문제를 해결하려면 내보내기 일괄 처리 크기를 1로 설정하고 커넥터 자세한 정보 로깅을 사용하도록 설정합니다.

    이 커넥터를 배포하려면 데이터베이스 구성을 변경하고 MIM의 구성을 변경해야 할 수 있습니다. 프로덕션 환경에서 타사 데이터베이스 서버와 MIM을 통합하는 배포의 경우 고객은 데이터베이스 공급업체 또는 배포 파트너와 협력하여 이 통합에 대한 도움말, 지침 및 지원을 수행하는 것이 좋습니다.

    연결된 데이터 원본의 사용 권한

    일반 SQL 커넥터에서 지원되는 작업을 만들거나 수행하려면 다음이 있어야 합니다.

    • db_datareader
    • db_datawriter

    포트 및 프로토콜

    ODBC 드라이버가 작동하는 데 필요한 포트는 데이터베이스 공급업체의 설명서를 참조하세요.

    새 커넥터 만들기

    일반 SQL 커넥터를 만들려면 동기화 서비스에서 관리 에이전트 및 만들기선택합니다. 일반 SQL(Microsoft) 커넥터를 선택합니다.

    CreateConnector 페이지 1

    연결

    커넥터는 연결에 ODBC DSN 파일을 사용합니다. 관리 도구의 시작 메뉴에 위치한 ODBC 데이터 원본을 사용하여 DSN 파일을 만듭니다. 관리 도구에서 커넥터에 제공할 수 있도록 파일 DSN 을 만듭니다.

    CreateConnector 페이지 2

    연결 화면은 새 일반 SQL 커넥터를 만드는 첫 번째 화면입니다. 먼저 다음 정보를 제공해야 합니다.

    • DSN 파일 경로
    • 인증
      • 사용자 이름
      • 암호

    데이터베이스는 다음 인증 방법 중 하나를 지원해야 합니다.

    • Windows 인증: 인증하는 데이터베이스는 Windows 자격 증명을 사용하여 사용자를 확인합니다. 지정된 사용자 이름/암호는 데이터베이스를 사용하여 인증하는 데 사용됩니다. 이 계정에는 데이터베이스에 대한 권한이 필요합니다.
    • SQL 인증: 인증 데이터베이스는 연결 화면에 정의된 사용자 이름/암호를 사용하여 데이터베이스에 연결합니다. DSN 파일에 사용자 이름/pasword를 저장하는 경우 연결 화면에 제공된 자격 증명이 우선합니다.
    • Azure SQL Database 인증: 자세한 내용은 Microsoft Entra 인증을 통해 SQL Database에 연결을 참조하세요.

    DN은 앵커입니다. 이 옵션을 선택하면 DN도 앵커 특성으로 사용됩니다. 간단한 구현을 위해 사용할 수 있지만 다음과 같은 제한이 있습니다.

    • 커넥터는 하나의 개체 형식만 지원합니다. 따라서 참조 특성은 동일한 개체 형식만 참조할 수 있습니다.

    내보내기 형식: 개체 바꾸기: 내보내는 동안 일부 특성만 변경되면 모든 특성을 가진 전체 개체가 내보내지고 기존 개체가 바뀝니다.

    스키마 1(개체 형식 검색)

    이 페이지에서는 커넥터가 데이터베이스의 다른 개체 형식을 검색하는 방법을 구성하려고 합니다.

    모든 개체 형식은 파티션으로 표시되고 파티션 및 계층 구성에서 추가로 구성됩니다.

    schema1a 이미지

    개체 유형 검색 방법: 커넥터는 이러한 개체 형식 검색 방법을 지원합니다.

    • 고정 값: 개체 형식 목록에 쉼표로 구분된 목록을 제공합니다. 예: User,Group,Department
      schema1b 이미지
    • 테이블/뷰/저장 프로시저: 테이블/뷰/저장 프로시저의 이름과 개체 형식 목록을 제공하는 열 이름을 제공합니다. 저장 프로시저를 사용하는 경우 [Name]:[Direction]:[Value] 형식으로 매개 변수도 제공합니다. 별도 줄에 각 매개 변수를 제공합니다.(Ctrl + Enter를 사용하여 새 줄 가져옴)
      schema1c 이미지
    • SQL 쿼리: 이 옵션을 사용하면 개체 유형이 있는 단일 열을 반환하는 SQL 쿼리를 SELECT [Column Name] FROM TABLENAME제공할 수 있습니다. 반환된 열은 문자열 형식(varchar)이어야 합니다.

    스키마 2(특성 유형 검색)

    이 페이지에서는 특성 이름 및 형식을 검색하는 방법을 구성합니다. 구성 옵션은 이전 페이지에서 검색된 모든 개체 유형에 대해 나열됩니다.

    schema2a 이미지

    특성 유형 검색 방법: 커넥터는 스키마 1 화면에서 검색된 모든 개체 형식을 사용하여 이러한 특성 유형 검색 방법을 지원합니다.

    • 테이블/뷰/저장 프로시저: 특성 이름을 찾는 데 사용해야 하는 테이블/뷰/저장 프로시저의 이름을 제공합니다. 저장 프로시저를 사용하는 경우 [Name]:[Direction]:[Value] 형식으로 매개 변수도 제공합니다. 별도 줄에 각 매개 변수를 제공합니다.(Ctrl + Enter를 사용하여 새 줄 가져옴) 다중값 특성에서 특성 이름을 검색하려면 테이블 또는 뷰의 쉼표로 구분된 목록을 제공합니다. 부모 테이블과 자식 테이블에 열 이름이 같은 경우 다중값 시나리오는 지원되지 않습니다.
    • SQL 쿼리: 이 옵션을 사용하면 특성 이름을 가진 단일 열을 반환하는 SQL 쿼리를 제공할 수 있습니다 SELECT [Column Name] FROM TABLENAME. 반환된 열은 문자열 형식(varchar)이어야 합니다.

    스키마 3(앵커 및 DN 정의)

    이 페이지에서는 검색된 각 개체 유형에 대해 앵커 및 DN 특성을 구성할 수 있습니다. 앵커를 고유하게 만드는 여러 특성을 선택할 수 있습니다.

    schema3a 이미지

    • 다중값 및 부울 특성은 나열되지 않습니다.

    • 연결 페이지에서 DN이 Anchor인 경우가 아니면 DN 및 앵커 에 동일한 특성을 사용할 수 없습니다.

    • 연결 페이지에서 DN이 Anchor인 경우 이 페이지에는 DN 특성만 필요합니다. 이 특성은 앵커 특성으로도 사용됩니다.

      schema3b 이미지

    스키마 4(특성 유형, 참조 및 방향 정의)

    이 페이지를 사용하면 정수, 이진 또는 부울 값과 같은 특성 형식 및 각 특성에 대한 방향을 구성할 수 있습니다. 페이지 스키마 2 의 모든 특성은 다중값 특성을 포함하여 나열됩니다.

    schema4a 이미지

    • DataType: 특성 형식을 동기화 엔진에서 알려진 형식에 매핑하는 데 사용됩니다. 기본값은 SQL 스키마에서 검색하는 대로 동일한 형식을 사용하지만 날짜/시간 및 참조는 쉽게 감지할 수 없습니다. 이를 위해 DateTime 또는 참조를 지정해야 합니다.
    • 방향: 특성 방향을 Import, Export 또는 ImportExport로 설정할 수 있습니다. ImportExport는 기본값입니다.

    schema4b 이미지

    참고:

    • 커넥터에서 특성 형식을 검색할 수 없는 경우 문자열 데이터 형식을 사용합니다.
    • 중첩 테이블 은 하나의 열 데이터베이스 테이블로 간주할 수 있습니다. Oracle은 중첩 테이블의 행을 특정 순서 없이 저장합니다. 그러나 PL/SQL 변수로 중첩 테이블을 검색하는 경우 행은 1부터 시작하는 지정된 연속 첨자입니다. 이렇게 하면 개별 행에 대한 배열과 유사한 액세스 권한이 부여됩니다.
    • VARRYS 는 커넥터에서 지원되지 않습니다.

    스키마 5(참조 특성에 대한 파티션 정의)

    이 페이지에서는 특성이 참조하는 파티션(개체 형식)에 대한 모든 참조 특성을 구성합니다.

    schema5 이미지

    DN이 앵커를 사용하는 경우 참조하는 것과 동일한 개체 형식을 사용해야 합니다. 다른 개체 형식은 참조할 수 없습니다.

    참고 항목

    2017년 3월 업데이트부터 "*" 옵션이 선택되면 가능한 모든 멤버 유형을 가져옵니다.

    globalparameters3 이미지

    Important

    2017년 5월을 기준으로 "*", 즉 옵션이 흐름 내보내기 및 가져오기를 지원하도록 변경되었습니다. 이 옵션을 사용하려면 다중값 테이블/뷰에 개체 형식이 포함된 특성이 있어야 합니다.

    이미지 앞의 다중값 옵션


    "*"를 선택하면 개체 형식의 열 이름도 지정해야 합니다.
    이미지 뒤의 모든 옵션을 다중값으로

    가져온 후 아래 이미지와 비슷한 내용이 표시됩니다.

    globalparameters31 이미지

    전역 매개 변수

    전역 매개 변수 페이지는 델타 가져오기, 날짜/시간 형식 및 암호 메서드를 구성하는 데 사용됩니다.

    globalparameters1 이미지

    제네릭 SQL 커넥터는 델타 가져오기에 대해 다음 메서드를 지원합니다.

    • 트리거: 트리거를 사용하여 델타 뷰 생성을 참조 하세요.
    • 워터마크: 모든 데이터베이스에서 사용할 수 있는 제네릭 접근 방식입니다. 워터마크 쿼리는 데이터베이스 공급업체에 따라 미리 채워집니다. 워터마크 열은 사용되는 모든 테이블/뷰에 있어야 합니다. 이 열은 테이블과 종속 테이블(다중값 또는 자식) 테이블에 대한 삽입 및 업데이트를 추적해야 합니다. 동기화 서비스와 데이터베이스 서버 간에 시계는 동기화되어야 합니다. 그렇지 않은 경우 델타 가져오기의 일부 항목을 생략할 수 있습니다.
      제한:
      • 워터마크 전략은 삭제된 개체를 지원하지 않습니다.
    • 스냅샷: (Microsoft SQL Server로만 작동) 스냅샷을 사용하여 델타 뷰 생성
    • 변경 내용 추적: (Microsoft SQL Server에서만 작동) 정보 변경 내용 추적
      제한:
      • 앵커 및 DN 특성은 테이블에서 선택한 개체에 대한 기본 키의 일부여야 합니다.
      • SQL 쿼리는 변경 내용 추적 사용하여 가져오기 및 내보내기 중에 지원되지 않습니다.

    추가 매개 변수: 데이터베이스 서버의 위치를 나타내는 데이터베이스 서버 표준 시간대를 지정합니다. 이 값은 다양한 형식의 날짜 및 시간 특성을 지원하는 데 사용됩니다.

    커넥터는 항상 날짜 및 날짜 시간을 UTC 형식으로 저장합니다. 날짜 및 시간을 올바르게 변환할 수 있으려면 데이터베이스 서버의 표준 시간대 및 형식을 지정해야 합니다. 형식은 .NET 형식으로 표현되어야 합니다.

    내보내는 동안 모든 날짜 시간 특성은 커넥터에 UTC 시간 형식으로 제공되어야 합니다.

    globalparameters2 이미지

    암호 구성: 커넥터는 암호 동기화 기능을 제공하고 암호 설정 및 변경을 지원합니다.

    커넥터는 암호 동기화를 지원하는 두 가지 방법을 제공합니다.

    • 저장 프로시저: 이 메서드는 암호 설정 및 변경을 지원하기 위해 두 개의 저장 프로시저가 필요합니다. 아래 예제에 따라 암호 SP 설정 및 암호 SP 매개 변수 변경에서 암호 추가 및 변경 작업을 위한 모든 매개 변수를 입력합니다. globalparameters32 이미지
    • 암호 확장: 이 메서드에는 암호 확장 DLL이 필요합니다(IMAExtensible2Password 인터페이스를 구현하는 확장 DLL 이름을 제공해야 합니다). 커넥터가 런타임에 DLL을 로드할 수 있도록 확장 폴더에 암호 확장 어셈블리를 배치해야 합니다. globalparameters4 이미지

    확장 구성 페이지에서 암호 관리를 사용하도록 설정해야 합니다 . globalparameters5 이미지

    파티션 및 계층 구조 구성

    파티션 및 계층 페이지에서 모든 개체 형식을 선택합니다. 각 개체 형식은 자체 파티션입니다.

    partitions1 이미지

    연결 또는 전역 매개 변수 페이지에 정의된 값을 재정의할 수도 있습니다.

    partitions2 이미지

    앵커 구성

    앵커가 이미 정의되었으므로 이 페이지는 읽기 전용입니다. 선택한 앵커 특성은 항상 개체 형식에 추가되어 개체 형식 간에 고유하게 유지됩니다.

    앵커 이미지

    실행 단계 매개 변수 구성

    이러한 단계는 커넥터의 실행 프로필에서 구성됩니다. 이러한 구성은 데이터 가져오기 및 내보내기의 실제 작업을 수행합니다.

    전체 및 델타 가져오기

    일반 SQL 커넥터는 다음의 메서드를 사용하여 전체 및 델타 가져오기를 지원합니다.

    • 테이블
    • 보기
    • 저장 프로시저
    • SQL 쿼리

    runstep1 이미지

    테이블/뷰
    개체에 대한 다중값 특성을 가져오려면 다중값 테이블/뷰의 이름에 테이블/뷰 이름을 제공하고 조인 조건의 각 조인 조건을 부모 테이블과 함께 제공해야 합니다. 데이터 원본에 다중값 테이블이 두 개 이상 있는 경우 단일 보기에 공용 구조체를 사용할 수 있습니다.

    Important

    일반 SQL 관리 에이전트는 하나의 다중 값 테이블에서만 작동할 수 있습니다. 다중값 테이블/뷰의 이름에 두 개 이상의 테이블 이름을 입력하지 마세요. 제네릭 SQL의 제한 사항입니다.

    예: Employee 개체와 모든 다중값 특성을 가져오려고 합니다. Employee(주 테이블)과 Department(다중값)라는 두 개의 테이블이 있습니다. 다음을 수행하십시오:

    • 테이블/뷰/SP에서 직원을 입력합니다.
    • 다중값 테이블/뷰 이름에서 부서를 입력합니다.
    • 예를 들어 Employee.DEPTID=Department.DepartmentID조인 조건의 직원 및 부서 간에 조인 조건을 입력합니다. runstep2 이미지

    저장 프로시저
    runstep3 이미지

    • 많은 데이터가 있는 경우 저장 프로시저를 사용하여 페이지 매김을 구현하는 것이 좋습니다.
    • 저장 프로시저에서 페이지 매김을 지원하려면 시작 인덱스 및 끝 인덱스만 제공해야 합니다. 참조: 많은 양의 데이터를 효율적으로 페이징합니다.
    • @StartIndex실행 @EndIndex 시 해당 페이지 크기 값이 구성 단계 페이지에 구성된 값으로 대체됩니다. 예를 들어 커넥터가 첫 번째 페이지를 검색하고 페이지 크기가 500으로 설정된 경우 이러한 상황에서 @StartIndex 는 1과 @EndIndex 500이 됩니다. 커넥터가 후속 페이지를 검색하고 @StartIndex 및 @EndIndex 값을 변경하는 경우 이러한 값은 증가합니다.
    • 매개 변수가 있는 저장 프로시저를 실행하려면 매개 변수를 [Name]:[Direction]:[Value] 형식으로 제공합니다. 각 매개 변수를 별도의 줄에 입력합니다(Ctrl + Enter 키를 사용하여 새 줄 가져오기).
    • 일반 SQL 커넥터는 Microsoft SQL Server의 연결된 서버에서 가져오기 작업을 지원합니다. 정보가 연결된 서버의 테이블에서 검색되어야 하는 경우 테이블은 다음 형식으로 제공되어야 합니다. [ServerName].[Database].[Schema].[TableName]
    • 일반 SQL 커넥터는 실행 단계 정보와 스키마 탐색 간에 구조가 비슷한(모두 별칭 이름 및 데이터 형식) 개체만 지원합니다. 스키마에서 선택한 개체와 실행 단계에서 제공된 정보가 다른 경우 SQL Connector는 이러한 유형의 시나리오를 지원할 수 없습니다.

    SQL 쿼리
    runstep4 이미지

    runstep5 이미지

    Important

    CRLF 또는 새 줄 문자는 여러 문 사이의 구분 기호 역할을 합니다.

    페이지 매김이 있는 샘플 SQL 쿼리 - 잘못된 쿼리는 새 줄 문자가 사용되므로 작동하지 않습니다.

    WITH A AS 
      (select dense_rank() over (order by BusinessEntityID) 
        rownumber, BusinessEntityID, DeptID, NationalIDNumber, LoginID, JobTitle, BirthDate, MaritalStatus, HireDate, ModifiedDate, Password 
        from Employees
      ) select * from A where rownumber between @StartIndex and @EndIndex
    

    페이지 매김이 있는 샘플 SQL 쿼리 - 올바른 쿼리:

    WITH A AS (select dense_rank() over (order by BusinessEntityID) rownumber, BusinessEntityID, DeptID, NationalIDNumber, LoginID, JobTitle, BirthDate, MaritalStatus, HireDate, ModifiedDate, Password from Employees) select * from A where rownumber between @StartIndex and @EndIndex
    
    • 여러 결과 집합 쿼리는 지원되지 않습니다.
    • SQL 쿼리는 페이지 매김을 지원하고 페이지 매김을 지원하는 변수로 시작 인덱스 및 끝 인덱스를 제공합니다.

    델타 가져오기

    runstep6 이미지

    델타 가져오기 구성에는 전체 가져오기에 비해 몇 가지 구성이 더 필요합니다.

    • 트리거 또는 스냅샷 접근 방식을 선택하여 델타 변경 내용을 추적하는 경우 기록 테이블 또는 스냅샷 데이터베이스 이름 상자에서 기록 테이블 또는 스냅샷 데이터베이스를 제공합니다.
    • 예를 들어 기록 테이블과 부모 테이블 사이에 조인 조건을 제공해야 합니다. Employee.ID=History.EmployeeID
    • 기록 테이블에서 부모 테이블의 트랜잭션을 추적하려면 작업 정보가 포함된 열 이름(추가/업데이트/삭제)을 제공해야 합니다.
    • 워터마크를 선택하여 델타 변경 내용을 추적하는 경우 워터마크 열 이름에 작업 정보가 포함된 열 이름을 제공합니다.
    • 변경 형식 특성 열은 변경 형식에 필요합니다. 이 열은 기본 테이블 또는 다중 값 테이블에서 발생하는 변경 사항을 델타 뷰의 변경 형식에 매핑합니다. 이 열은 특성 수준 변경에 대해 Modify_Attribute 변경 유형을 포함할 수 있거나 개체 수준 변경 형식에 대한 변경 형식을 추가, 수정 또는 삭제합니다. 기본값 추가, 수정, 삭제 이외의 경우 사용자는 이 옵션을 사용하여 해당 값을 정의할 수 있습니다.

    내보내기

    runstep7 이미지

    일반 SQL 커넥터는 다음과 같은 네 가지 지원되는 메서드를 사용하여 내보내기를 지원합니다.

    • 테이블
    • 보기
    • 저장 프로시저
    • SQL 쿼리

    테이블/뷰
    테이블/보기 옵션을 선택하면 커넥터는 내보내기를 수행할 각 쿼리를 생성합니다.

    저장 프로시저
    runstep8 이미지

    저장 프로시저 옵션을 선택하는 경우 삽입/업데이트/삭제 작업을 수행하려면 내보내기에서 세 가지 저장 프로시저가 필요합니다.

    • SP 이름 추가: 개체가 해당 테이블에서 삽입하려는 커넥터에 제공되는 경우 이 SP가 실행됩니다.
    • SP 이름 업데이트: 각 테이블의 업데이트를 위해 커넥터에 개체가 제공되면 이 SP가 실행됩니다.
    • SP 이름 삭제: 각 테이블에서 삭제할 커넥터에 개체가 있는 경우 이 SP가 실행됩니다.
    • 저장 프로시저에 매개 변수 값으로 사용되는 스키마에서 선택된 특성입니다. 예를 들어 @EmployeeName: INPUT: EmployeeName (EmployeeName은 커넥터 스키마에서 선택되고 커넥터는 내보내기를 수행하는 동안 해당 값을 바꿉니다.)
    • 매개 변수가 있는 저장 프로시저를 실행하려면 매개 변수 형식을 [Name]:[Direction]:[Value] 제공합니다. 각 매개 변수를 별도의 줄에 입력합니다(Ctrl + Enter 키를 사용하여 새 줄 가져오기).

    SQL query
    runstep9 이미지

    SQL 쿼리 옵션을 선택하는 경우 삽입/업데이트/삭제 작업을 수행하려면 내보내기에서 세 가지 쿼리가 필요합니다.

    • 쿼리 삽입: 개체가 해당 테이블에서 삽입하려는 커넥터에 제공되는 경우 이 쿼리가 실행됩니다.
    • 업데이트 쿼리: 각 테이블의 업데이트를 위해 커넥터에 개체가 있는 경우 이 쿼리가 실행됩니다.
    • 쿼리 삭제: 이 쿼리는 각 테이블의 삭제를 위해 커넥터에 개체가 있는 경우 실행됩니다.
    • 예를 들어 쿼리에 매개 변수 값으로 사용되는 스키마에서 선택한 특성 Insert into Employee (ID, Name) Values (@ID, @EmployeeName)

    Important

    CRLF 또는 새 줄 문자는 여러 문 사이의 구분 기호 역할을 합니다.

    샘플 다단계 업데이트 SQL 쿼리 - 새 줄 문자는 SQL 문을 구분하는 데 사용됩니다.

    update Employee set jobTitle=@JOBTITLE where BusinessEntityID=@BUSINESSENTITYID
    insert into ChangeLog VALUES (@BUSINESSENTITYID)
    

    문제 해결

    • 커넥터 문제를 해결하기 위해 로깅을 사용하도록 설정하는 방법에 대한 자세한 내용은 커넥터에 대해 ETW 추적을 사용하도록 설정하는 방법을 참조 하세요.