Поделиться через


Пошаговые инструкции для универсального соединителя SQL

Эта тема является пошаговым руководством. Он создает простую пример базы данных кадров и использует ее для импорта некоторых пользователей и их членства в группах.

Примечание.

Microsoft Entra ID теперь предоставляет упрощенное решение на основе агента для назначения пользователей в базу данных SQL без необходимости развертывания синхронизации MIM. Мы рекомендуем использовать его для управления исходящими учетными записями. Подробнее.

Подготовка образца базы данных

На сервере под управлением SQL Server запустите скрипт SQL, найденный в приложении A. Этот скрипт создает образец базы данных с именем GSQLDEMO. Объектная модель для созданной базы данных выглядит следующим образом:
Объектная модель

Также создайте пользователя, который вы хотите использовать для подключения к базе данных. В этом пошаговом руководстве пользователь называется FABRIKAM\SQLUser и расположен в домене.

Создание файла подключения ODBC

Универсальный соединитель SQL использует ODBC для подключения к удаленному серверу. Сначала необходимо создать файл с сведениями о подключении ODBC.

  1. Запустите программу управления ODBC на сервере:
    Снимок экрана, показывающий поле поиска со введённым O D B C.
  2. Выберите вкладку DSN файла. Нажмите кнопку "Добавить...".
    Снимок экрана: служебная программа управления O D B C с выбранной вкладкой File D S N.
  3. Встроенный драйвер работает хорошо, поэтому выберите его и нажмите кнопку "Далее>".
    Снимок экрана: параметры драйвера для нового источника данных.
  4. Присвойте файлу имя, например GenericSQL.
    Снимок экрана: пример нового имени файла, введенного в поле, и кнопки
  5. Нажмите кнопку Готово.
    Снимок экрана: новые сведения о источнике данных и кнопка
  6. Время настройки подключения. Присвойте источнику данных хорошее описание и укажите имя сервера под управлением SQL Server.
    Снимок экрана: мастер настройки с примером описания и имени сервера и кнопкой
  7. Выберите способ проверки подлинности с помощью SQL. В этом случае используется проверка подлинности Windows.
    Снимок экрана: шаг проверки подлинности с выбранным параметром встроенной проверки подлинности Windows и кнопкой
  8. Укажите имя образца базы данных GSQLDEMO.
    Снимок экрана: имя базы данных, введенное в поле базы данных, и кнопка
  9. Сохраните все значения по умолчанию на этом экране. Нажмите кнопку Готово.
    Снимок экрана: параметры по умолчанию на последнем шаге мастера и кнопки
  10. Чтобы убедиться, что все работает должным образом, нажмите кнопку "Тестовый источник данных".
    Снимок экрана: сведения о конфигурации нового источника данных O D B C и кнопки
  11. Убедитесь, что проверка прошла успешно.
    Снимок экрана: результаты теста и кнопка O K.
  12. Теперь файл конфигурации ODBC должен отображаться в файле DSN.
    Снимок экрана: служебная программа управления O D B C с выбранной вкладкой File D S N и новым файлом конфигурации O D B C.

Теперь у нас есть нужный файл и можно приступить к созданию соединителя.

Создание универсального соединителя SQL

  1. В интерфейсе Диспетчера синхронизации выберите Соединители и Создать. Выберите универсальный SQL (Майкрософт) и присвойте ему описательное имя.
    Снимок экрана: мастер создания соединителя с выбранным соединителем и кнопкой
  2. Найдите файл DSN, созданный в предыдущем разделе, и отправьте его на сервер. Укажите учетные данные для подключения к базе данных.
    Снимок экрана: файл D S N с введенными учетными данными и кнопкой
  3. В этом пошаговом руководстве мы упрощаем для нас и говорим, что существует два типа объектов, пользователь и группа. Снимок экрана: два типа объектов, введенных в поле списка фиксированных значений, и кнопка
  4. Чтобы найти атрибуты, мы хотим, чтобы соединитель обнаружил эти атрибуты, просматривая саму таблицу. Так как пользователи являются зарезервированным словом в SQL, необходимо предоставить его в квадратных скобках [ ].
    Снимок экрана: значение обнаружения атрибутов для значений таблицы и таблицы пользователей и кнопка
  5. Время определения атрибута привязки и атрибута DN. Для пользователей мы используем сочетание двух атрибутов имени пользователя и EmployeeID. Для группы мы используем GroupName (не реалистично в реальной жизни, но для этого пошагового руководства это работает). Снимок экрана: имя пользователя, идентификатор сотрудника и имя группы с кнопкой
  6. Не все типы атрибутов можно обнаружить в базе данных SQL. Тип ссылочного атрибута, в частности, не может. Для типа объекта группы необходимо изменить OwnerID и MemberID, чтобы они служили ссылками.
    Снимок экрана: обновленные поля идентификатора владельца и члена и кнопка
  7. Атрибуты, выбранные в качестве ссылочных на предыдущем шаге, требуют указания типа объекта, на который ссылаются эти значения. В нашем случае это объект типа User.
    Снимок экрана: выбранный тип объекта и кнопка
  8. На странице "Глобальные параметры" выберите "Водяной знак" в качестве разностной стратегии. Также введите формат yyyy-MM-dd HH:mm:ss. Снимок экрана с полями для разностной стратегии и формата даты и времени, а также кнопкой
  9. На странице "Настройка секций и иерархий" выберите оба типа объектов. Снимок экрана: выбранные типы объектов и кнопка
  10. В списке "Выбор типов объектов " и "Выбор атрибутов" выберите оба типа объектов и все атрибуты. На странице "Настройка привязок" нажмите кнопку "Готово".

Создание профилей запуска

  1. В интерфейсе Диспетчера службы синхронизации выберите Соединители, затем Настройка профилей запуска. Щелкните Новый Профиль. Начнем с полного импорта.
    Снимок экрана: мастер настройки профиля запуска с полным импортом, введенным в поле
  2. Выберите тип полного импорта (только этап).
    Снимок экрана: выбранный тип и кнопка
  3. Выберите раздел OBJECT=User.
    Снимок экрана: выбран раздел и кнопка
  4. Выберите таблицу и тип [USERS]. Прокрутите вниз до раздела типа объекта с несколькими значениями и введите данные, как показано на следующем рисунке. Нажмите кнопку "Готово ", чтобы сохранить шаг.
    Снимок экрана с выбранной таблицей метода операции и пользователями в поле таблицы.
    Снимок экрана, показывающий многозначные значения типа объекта, введенные для имени и условия соединения.
  5. Выберите + Новый шаг. На этот раз выберите OBJECT=Group. На последней странице используйте конфигурацию, как показано на следующем рисунке. Нажмите кнопку Готово.
    Снимок экрана: выбранная таблица метода операции и группа в поле таблицы.
    Снимок экрана: значения типа объекта, введенные для имени условия таблицы и соединения.
  6. Необязательно. Если вы хотите, можно настроить дополнительные профили выполнения. В этом пошаговом руководстве используется только полный импорт.
  7. Нажмите кнопку "ОК" , чтобы завершить изменение профилей выполнения.

Добавление некоторых тестовых данных и проверка импорта

Заполните некоторые тестовые данные в образце базы данных. Когда вы будете готовы, выберите "Выполнить " и "Полный импорт".

Ниже приведен пользователь с двумя номерами телефонов и группой с некоторыми участниками.
Снимок экрана: данные, показывающие пользователя с двумя телефонными номерами.
Снимок экрана: данные, показывающие группу с некоторыми участниками.

Приложение А

Скрипт 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