다음을 통해 공유


제네릭 SQL 커넥터 단계별

이 항목은 단계별 가이드입니다. 간단한 샘플 HR 데이터베이스를 만들고 일부 사용자 및 해당 그룹 멤버 자격을 가져오는 데 사용합니다.

비고

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

샘플 데이터베이스 준비

SQL Server를 실행하는 서버에서 부록 A있는 SQL 스크립트를 실행합니다. 이 스크립트는 GSQLDEMO라는 이름의 샘플 데이터베이스를 만듭니다. 만든 데이터베이스의 개체 모델은 다음 그림과 같습니다.
개체 모델

또한 데이터베이스에 연결하는 데 사용할 사용자를 만듭니다. 이 walkthrough에서는 사용자를 FABRIKAM\SQLUser라고 하며, 이 사용자는 도메인 내에 있습니다.

ODBC 연결 파일 만들기

일반 SQL 커넥터는 ODBC를 사용하여 원격 서버에 연결합니다. 먼저 ODBC 연결 정보를 사용하여 파일을 만들어야 합니다.

  1. 서버에서 ODBC 관리 유틸리티를 시작합니다.
    OD B C가 입력된 검색 필드를 보여 주는 스크린샷
  2. 파일 DSN을 선택합니다. 추가...를 클릭합니다..
    파일 D S N 탭이 선택된 O D B C 관리 유틸리티의 스크린샷
  3. 기본 제공 드라이버가 정상적으로 작동하므로 해당 드라이버를 선택하고 다음>클릭합니다.
    새 데이터 원본에 대한 드라이버 옵션을 보여 주는 스크린샷
  4. GenericSQL같은 이름을 파일에 지정합니다.
    필드에 입력한 새 파일 이름 예제와 다음 단추를 보여 주는 스크린샷
  5. Finish를 클릭합니다.
    새 데이터 원본 세부 정보 및 마침 단추를 보여 주는 스크린샷
  6. 연결을 구성하는 시간입니다. 데이터 원본에 적절한 설명을 제공하고 SQL Server를 실행하는 서버의 이름을 제공합니다.
    예시 설명 및 서버 이름, 다음 버튼이 있는 구성 마법사를 보여주는 스크린샷
  7. SQL을 사용하여 인증하는 방법을 선택합니다. 이 경우 Windows 인증을 사용합니다.
    통합 Windows 인증 옵션이 선택되고 다음 단추가 있는 인증 단계를 보여 주는 스크린샷
  8. GSQLDEMO 샘플 데이터베이스의 이름을 제공합니다.
    데이터베이스 필드에 입력한 데이터베이스 이름과 다음 단추를 보여 주는 스크린샷
  9. 이 화면에서 모든 항목을 기본값으로 유지합니다. Finish를 클릭합니다.
    마법사의 마지막 단계와 마침 단추의 기본 설정을 보여 주는 스크린샷
  10. 모든 것이 예상대로 작동하는지 확인하려면 테스트 데이터 원본클릭합니다.
    새 OD B C 데이터 원본 및 테스트 데이터 원본 단추의 구성 세부 정보를 보여 주는 스크린샷
  11. 테스트에 성공했는지 확인합니다.
    테스트 결과 및 O K 단추를 보여 주는 스크린샷
  12. 이제 ODBC 구성 파일이 파일 DSN에 표시됩니다.
    파일 D S N 탭이 선택되고 새 OD B C 구성 파일이 나열된 O D B C 관리 유틸리티의 스크린샷

이제 필요한 파일이 있으며 커넥터 만들기를 시작할 수 있습니다.

일반 SQL 커넥터 만들기

  1. Synchronization Service Manager UI에서 커넥터를 선택하고 만들기를 합니다. 일반 SQL(Microsoft) 선택하고 설명이 포함된 이름을 지정합니다.
    커넥터가 선택되고 다음 단추가 있는 커넥터 만들기 마법사를 보여 주는 스크린샷
  2. 이전 섹션에서 만든 DSN 파일을 찾아 서버에 업로드합니다. 데이터베이스에 연결할 자격 증명을 제공합니다.
    자격 증명이 입력되고 다음 단추가 있는 D S N 파일을 보여 주는 스크린샷
  3. 이 연습에서는 우리를 위해 쉽게 설명하기 위해 두 가지 개체 유형, 사용자그룹이 있다고 가정합니다. 고정 값 목록 필드에 입력된 두 개체 유형과 다음 단추를 보여 주는 스크린샷
  4. 특성을 찾기 위해 커넥터가 테이블 자체를 확인하여 해당 특성을 검색하려고 합니다. 사용자 SQL의 예약어이므로 대괄호 [ ]로 제공해야 합니다.
    테이블의 속성 검색 값 및 사용자 테이블의 값, 그리고 다음 버튼을 보여주는 스크린샷
  5. 앵커 특성 및 DN 특성을 정의하는 시간입니다. 사용자경우 두 특성 사용자 이름과 EmployeeID의 조합을 사용합니다. 그룹경우 GroupName을 사용합니다(실제에서는 현실적이지 않지만 이 연습에서는 작동). 다음 단추가 있는 사용자 이름, 직원 ID 및 그룹 이름을 보여 주는 스크린샷
  6. SQL 데이터베이스에서 모든 특성 유형을 검색할 수 있는 것은 아닙니다. 특히 참조 특성 형식은 사용할 수 없습니다. 그룹 개체 형식의 경우 OwnerID 및 MemberID를 참조하도록 변경해야 합니다.
    업데이트된 소유자 I D 및 멤버 ID 필드와 다음 단추를 보여 주는 스크린샷
  7. 이전 단계에서 참조 특성으로 선택한 특성에는 이러한 값이 참조되는 개체 형식이 필요합니다. 이 경우 User 개체 형식입니다.
    선택한 개체 유형과 다음 단추를 보여 주는 스크린샷
  8. 전역 매개 변수 페이지에서 델타 전략으로 워터마크 선택합니다. 또한 yyyy-MM-dd HH:mm:ss 날짜/시간 형식을 입력합니다. 델타 전략의 필드와 날짜 및 시간 형식 및 다음 단추를 보여 주는 스크린샷
  9. 파티션 및 계층 구성 페이지에서 두 개체 유형을 모두 선택합니다. 선택한 개체 유형과 다음 단추를 모두 보여 주는 스크린샷
  10. 개체 유형 선택특성 선택 화면에서 모든 개체 유형과 모든 특성을 선택합니다. 앵커 구성 페이지에서 마침을 클릭합니다.

실행 프로필 만들기

  1. Synchronization Service Manager UI에서 커넥터선택하고 실행 프로필구성합니다. 새 프로필클릭합니다. 우리는 전체 가져오기부터 시작합니다.
    이름 필드에 전체 가져오기를 입력하고 다음 단추가 있는 실행 프로필 구성 마법사를 보여 주는 스크린샷
  2. 전체 가져오기(스테이지만) 유형을 선택합니다.
    선택한 형식과 다음 단추를 보여 주는 스크린샷
  3. OBJECT=User 파티션을 선택합니다.
    선택한 파티션과 다음 단추를 보여 주는 스크린샷
  4. 테이블 을 선택하고 [USERS] 에 입력합니다. 다중값 개체 형식 섹션까지 아래로 스크롤하고 다음 그림과 같이 데이터를 입력합니다. 마침 선택하여 단계를 저장합니다.
    테이블이 선택된 작업 방법과 테이블 필드의 사용자를 보여 주는 스크린샷
    이름 및 조인 조건에 대해 입력된 다중값 개체 형식 값을 보여 주는 스크린샷
  5. 새 단계를 선택합니다. 이번에는 object=Group 선택합니다. 마지막 페이지에서 다음 그림과 같이 구성을 사용합니다. Finish를 클릭합니다.
    테이블이 선택되고 테이블 필드에서 그룹화되는 작업 방법을 보여 주는 스크린샷
    테이블 및 조인 조건의 이름으로 입력된 개체 형식 값을 보여 주는 스크린샷
  6. 선택 사항: 원하는 경우 추가 실행 프로필을 구성할 수 있습니다. 이 가이드에서는 전체 가져오기만 사용합니다.
  7. 확인 클릭하여 실행 프로필 변경을 완료합니다.

일부 테스트 데이터 추가 및 가져오기 테스트

샘플 데이터베이스에서 일부 테스트 데이터를 작성합니다. 준비가 되면 실행을 선택하고 전체 가져오기 .

다음은 두 개의 전화 번호가 있는 사용자와 일부 구성원이 있는 그룹입니다.
전화 번호가 두 개 있는 사용자를 보여 주는 데이터의 스크린샷
일부 구성원이 있는 그룹을 보여 주는 데이터의 스크린샷

부록 A

SQL 스크립트를 샘플 데이터베이스 만들기

---Creating the Database---------
Create Database GSQLDEMO
Go
-------Using the Database-----------
Use [GSQLDEMO]
Go
-------------------------------------
USE [GSQLDEMO]
GO
/****** Object:  Table [dbo].[GroupMembers]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GroupMembers](
    [MemberID] [int] NOT NULL,
    [Group_ID] [int] NOT NULL
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[GROUPS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GROUPS](
    [GroupID] [int] NOT NULL,
    [GROUPNAME] [nvarchar](200) NOT NULL,
    [DESCRIPTION] [nvarchar](200) NULL,
    [WATERMARK] [datetime] NULL,
    [OwnerID] [int] NULL,
PRIMARY KEY CLUSTERED
(
    [GroupID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[USERPHONE]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[USERPHONE](
    [USER_ID] [int] NULL,
    [Phone] [varchar](20) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[USERS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[USERS](
    [USERID] [int] NOT NULL,
    [USERNAME] [nvarchar](200) NOT NULL,
    [FirstName] [nvarchar](100) NULL,
    [LastName] [nvarchar](100) NULL,
    [DisplayName] [nvarchar](100) NULL,
    [ACCOUNTDISABLED] [bit] NULL,
    [EMPLOYEEID] [int] NOT NULL,
    [WATERMARK] [datetime] NULL,
PRIMARY KEY CLUSTERED
(
    [USERID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_GROUPS] FOREIGN KEY([Group_ID])
REFERENCES [dbo].[GROUPS] ([GroupID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_GROUPS]
GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_USERS] FOREIGN KEY([MemberID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_USERS]
GO
ALTER TABLE [dbo].[GROUPS]  WITH CHECK ADD  CONSTRAINT [FK_GROUPS_USERS] FOREIGN KEY([OwnerID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GROUPS] CHECK CONSTRAINT [FK_GROUPS_USERS]
GO
ALTER TABLE [dbo].[USERPHONE]  WITH CHECK ADD  CONSTRAINT [FK_USERPHONE_USER] FOREIGN KEY([USER_ID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[USERPHONE] CHECK CONSTRAINT [FK_USERPHONE_USER]
GO