Podrobný postup pro obecný konektor SQL
Toto téma je podrobný průvodce. Vytvoří jednoduchou ukázkovou databázi lidských zdrojů a použije ji k importu některých uživatelů a jejich členství ve skupinách.
Poznámka
Microsoft Entra ID teď poskytuje jednoduché řešení založené na agentech pro zřizování uživatelů do databáze SQL, aniž by bylo potřeba nasazení synchronizace MIM. Doporučujeme ho použít pro zřizování odchozích uživatelů. Další informace.
Příprava ukázkové databáze
Na serveru se spuštěným SQL Server spusťte skript SQL, který najdete v příloze A. Tento skript vytvoří ukázkovou databázi s názvem GSQLDEMO. Objektový model pro vytvořenou databázi vypadá jako na tomto obrázku:
Také vytvořte uživatele, kterého chcete použít pro připojení k databázi. V tomto návodu se uživatel nazývá FABRIKAM\SQLUser a nachází se v doméně.
Vytvoření souboru připojení ODBC
Obecný konektor SQL používá rozhraní ODBC pro připojení ke vzdálenému serveru. Nejprve musíme vytvořit soubor s informacemi o připojení ODBC.
- Spusťte na serveru nástroj pro správu ODBC:
- Vyberte kartu Soubor DSN. Klikněte na Přidat....
- Předefinovaný ovladač funguje správně, proto ho vyberte a klikněte na Další>.
- Pojmenujte soubor, například GenericSQL.
- Klikněte na Finish (Dokončit).
- Čas konfigurace připojení. Zadejte dobrý popis zdroje dat a název serveru, na kterém běží SQL Server.
- Vyberte způsob ověřování pomocí SQL. V tomto případě používáme ověřování systému Windows.
- Zadejte název ukázkové databáze GSQLDEMO.
- Na této obrazovce ponechte všechno jako výchozí. Klikněte na Finish (Dokončit).
- Pokud chcete ověřit, že vše funguje podle očekávání, klikněte na Testovat zdroj dat.
- Ujistěte se, že test proběhl úspěšně.
- Konfigurační soubor ODBC by teď měl být viditelný v názvu DSN souboru.
Teď máme soubor, který potřebujeme, a můžeme začít vytvářet konektor.
Vytvoření obecného konektoru SQL
- V uživatelském rozhraní synchronizace Service Manager vyberte Konektory a Vytvořit. Vyberte Generic SQL (Microsoft) a zadejte popisný název.
- Vyhledejte soubor DSN, který jste vytvořili v předchozí části, a nahrajte ho na server. Zadejte přihlašovací údaje pro připojení k databázi.
- V tomto návodu to pro nás usnadňujeme a říkáme, že existují dva typy objektů : Uživatel a Skupina.
- Abychom našli atributy, chceme, aby konektor tyto atributy rozpoznal tak, že se podívá na samotnou tabulku. Vzhledem k tomu , že uživatelé jsou v SQL vyhrazené slovo, musíme ho zadat v hranatých závorkách [ ].
- Je čas definovat atribut ukotvení a atribut DN. Pro uživatele používáme kombinaci dvou atributů uživatelské jméno a EmployeeID. Pro skupinu používáme GroupName (v reálném životě to není reálné, ale pro tento názorný postup to funguje).
- V databázi SQL se nedají rozpoznat všechny typy atributů. Nelze použít zejména typ atributu odkazu. Pro typ objektu skupiny musíme změnit ID vlastníka a ID člena, aby odkazy.
- Atributy, které jsme vybrali jako referenční atributy v předchozím kroku, vyžadují typ objektu, na který tyto hodnoty odkazují. V našem případě typ objektu User.
- Na stránce Globální parametry jako rozdílovou strategii vyberte Vodoznak . Zadejte také formát data a času rrrr-MM-dd HH:mm:ss.
- Na stránce Konfigurace oddílů a hierarchií vyberte oba typy objektů.
- V možnostech Vybrat typy objektů a Vybrat atributy vyberte objektové typy a všechny atributy. Na stránce Konfigurace ukotvení klikněte na Dokončit.
Vytvoření profilů spuštění
- V uživatelském rozhraní synchronizace Service Manager vyberte Konektory a Konfigurovat profily spuštění. Klikněte na Nový profil. Začneme úplným importem.
- Vyberte typ Úplný import (pouze fáze).
- Vyberte oddíl OBJECT=User.
- Vyberte Tabulka a zadejte [USERS]. Posuňte se dolů k části typu objektu s více hodnotami a zadejte data jako na následujícím obrázku. Výběrem možnosti Dokončit krok uložte.
- Vyberte Nový krok. Tentokrát vyberte OBJECT=Seskupovat. Na poslední stránce použijte konfiguraci jako na následujícím obrázku. Klikněte na Finish (Dokončit).
- Volitelné: Pokud chcete, můžete nakonfigurovat další profily spuštění. V tomto návodu se používá pouze úplný import.
- Kliknutím na OK dokončete změnu profilů spuštění.
Přidání testovacích dat a otestování importu
Vyplňte některá testovací data v ukázkové databázi. Až budete připraveni, vyberte Spustit a Úplný import.
Tady je uživatel se dvěma telefonními čísly a skupinou s některými členy.
Příloha A
Skript SQL pro vytvoření ukázkové databáze
---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