Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта тема является пошаговым руководством. Он создает простую пример базы данных кадров и использует ее для импорта некоторых пользователей и их членства в группах.
Примечание.
Microsoft Entra ID теперь предоставляет упрощенное решение на основе агента для назначения пользователей в базу данных SQL без необходимости развертывания синхронизации MIM. Мы рекомендуем использовать его для управления исходящими учетными записями. Подробнее.
Подготовка образца базы данных
На сервере под управлением SQL Server запустите скрипт SQL, найденный в приложении A. Этот скрипт создает образец базы данных с именем GSQLDEMO. Объектная модель для созданной базы данных выглядит следующим образом:
Также создайте пользователя, который вы хотите использовать для подключения к базе данных. В этом пошаговом руководстве пользователь называется FABRIKAM\SQLUser и расположен в домене.
Создание файла подключения ODBC
Универсальный соединитель SQL использует ODBC для подключения к удаленному серверу. Сначала необходимо создать файл с сведениями о подключении ODBC.
- Запустите программу управления ODBC на сервере:
- Выберите вкладку DSN файла. Нажмите кнопку "Добавить...".
- Встроенный драйвер работает хорошо, поэтому выберите его и нажмите кнопку "Далее>".
- Присвойте файлу имя, например GenericSQL.
- Нажмите кнопку Готово.
- Время настройки подключения. Присвойте источнику данных хорошее описание и укажите имя сервера под управлением SQL Server.
- Выберите способ проверки подлинности с помощью SQL. В этом случае используется проверка подлинности Windows.
- Укажите имя образца базы данных GSQLDEMO.
- Сохраните все значения по умолчанию на этом экране. Нажмите кнопку Готово.
- Чтобы убедиться, что все работает должным образом, нажмите кнопку "Тестовый источник данных".
- Убедитесь, что проверка прошла успешно.
- Теперь файл конфигурации ODBC должен отображаться в файле DSN.
Теперь у нас есть нужный файл и можно приступить к созданию соединителя.
Создание универсального соединителя SQL
- В интерфейсе Диспетчера синхронизации выберите Соединители и Создать. Выберите универсальный SQL (Майкрософт) и присвойте ему описательное имя.
- Найдите файл DSN, созданный в предыдущем разделе, и отправьте его на сервер. Укажите учетные данные для подключения к базе данных.
- В этом пошаговом руководстве мы упрощаем для нас и говорим, что существует два типа объектов, пользователь и группа.
- Чтобы найти атрибуты, мы хотим, чтобы соединитель обнаружил эти атрибуты, просматривая саму таблицу. Так как пользователи являются зарезервированным словом в SQL, необходимо предоставить его в квадратных скобках [ ].
- Время определения атрибута привязки и атрибута DN. Для пользователей мы используем сочетание двух атрибутов имени пользователя и EmployeeID. Для группы мы используем GroupName (не реалистично в реальной жизни, но для этого пошагового руководства это работает).
- Не все типы атрибутов можно обнаружить в базе данных SQL. Тип ссылочного атрибута, в частности, не может. Для типа объекта группы необходимо изменить OwnerID и MemberID, чтобы они служили ссылками.
- Атрибуты, выбранные в качестве ссылочных на предыдущем шаге, требуют указания типа объекта, на который ссылаются эти значения. В нашем случае это объект типа User.
- На странице "Глобальные параметры" выберите "Водяной знак" в качестве разностной стратегии. Также введите формат yyyy-MM-dd HH:mm:ss.
- На странице "Настройка секций и иерархий" выберите оба типа объектов.
- В списке "Выбор типов объектов " и "Выбор атрибутов" выберите оба типа объектов и все атрибуты. На странице "Настройка привязок" нажмите кнопку "Готово".
Создание профилей запуска
- В интерфейсе Диспетчера службы синхронизации выберите Соединители, затем Настройка профилей запуска. Щелкните Новый Профиль. Начнем с полного импорта.
- Выберите тип полного импорта (только этап).
- Выберите раздел OBJECT=User.
- Выберите таблицу и тип [USERS]. Прокрутите вниз до раздела типа объекта с несколькими значениями и введите данные, как показано на следующем рисунке. Нажмите кнопку "Готово ", чтобы сохранить шаг.
- Выберите + Новый шаг. На этот раз выберите OBJECT=Group. На последней странице используйте конфигурацию, как показано на следующем рисунке. Нажмите кнопку Готово.
- Необязательно. Если вы хотите, можно настроить дополнительные профили выполнения. В этом пошаговом руководстве используется только полный импорт.
- Нажмите кнопку "ОК" , чтобы завершить изменение профилей выполнения.
Добавление некоторых тестовых данных и проверка импорта
Заполните некоторые тестовые данные в образце базы данных. Когда вы будете готовы, выберите "Выполнить " и "Полный импорт".
Ниже приведен пользователь с двумя номерами телефонов и группой с некоторыми участниками.
Приложение А
Скрипт 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