Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet är en steg-för-steg-guide. Den skapar en enkel HR-exempeldatabas och använder den för att importera vissa användare och deras gruppmedlemskap.
Anmärkning
Microsoft Entra ID tillhandahåller nu en enkel agentbaserad lösning för att etablera användare till en SQL-databas, utan att behöva en MIM-synkroniseringsdistribution. Vi rekommenderar att du använder det för utgående användarprovisionering. Läs mer.
Förbereda exempeldatabasen
På en server som kör SQL Server kör du SQL-skriptet som finns i bilaga A. Det här skriptet skapar en exempeldatabas med namnet GSQLDEMO. Objektmodellen för den skapade databasen ser ut så här:
Skapa också en användare som du vill använda för att ansluta till databasen. I den här genomgången kallas användaren FABRIKAM\SQLUser och finns i domänen.
Skapa ODBC-anslutningsfilen
Den generiska SQL-anslutningsappen använder ODBC för att ansluta till fjärrservern. Först måste vi skapa en fil med ODBC-anslutningsinformationen.
- Starta ODBC-hanteringsverktyget på servern:
- Välj fliken Fil-DSN. Klicka på Lägg till....
- Den förinstallerade drivrutinen fungerar bra, så välj den och klicka på Nästa>.
- Ge filen ett namn, till exempel GenericSQL.
- Klicka på Finish.
- Tid för att konfigurera anslutningen. Ge datakällan en bra beskrivning och ange namnet på servern som kör SQL Server.
- Välj hur du ska autentisera med SQL. I det här fallet använder vi Windows-autentisering.
- Ange namnet på exempeldatabasen GSQLDEMO.
- Behåll allt som standard på den här skärmen. Klicka på Finish.
- Om du vill kontrollera att allt fungerar som förväntat klickar du på Testa datakälla.
- Kontrollera att testet har slutförts.
- ODBC-konfigurationsfilen bör nu visas i Fil-DSN.
Nu har vi den fil vi behöver och kan börja skapa Connector.
Skapa den generiska SQL-anslutningsappen
- I Synchronization Service Manager-användargränssnittet väljer du Anslutningar och Skapa. Välj Allmän SQL (Microsoft) och ge den ett beskrivande namn.
- Leta upp DSN-filen som du skapade i föregående avsnitt och ladda upp den till servern. Ange autentiseringsuppgifterna för att ansluta till databasen.
- I den här genomgången gör vi det enkelt för oss och säger att det finns två objekttyper, användare och grupp.
- För att hitta attributen vill vi att anslutningsappen ska identifiera dessa attribut genom att titta på själva tabellen. Eftersom Användare är ett reserverat ord i SQL måste vi ange det inom hakparenteser [ ].
- Tid att definiera fästpunktsattributet och DN-attributet. För Användare använder vi kombinationen av de två attributen användarnamn och EmployeeID. För grupp använder vi GroupName (inte realistiskt i verkligheten, men för den här genomgången fungerar det).
- Det går inte att identifiera alla attributtyper i en SQL-databas. Särskilt referensattributtypen kan inte. För gruppobjekttypen måste vi ändra OwnerID och MemberID till referens.
- De attribut som vi valde som referensattribut i föregående steg kräver att objekttypen dessa värden är en referens till. I vårt fall är objekttypen Användare.
- På sidan Globala parametrar väljer du Vattenmärke som deltastrategi. Skriv även i datum/ tid-formatet åååå-MM-dd HH:mm:ss.
- På sidan Konfigurera partitioner och hierarkier väljer du båda objekttyperna.
- På Välj objekttyper och Välj attribut väljer du både objekttyper och alla attribut. På sidan Konfigurera fästpunkter klickar du på Slutför.
Skapa körprofiler
- I användargränssnittet för Synkroniseringstjänsthanteraren väljer du Anslutningar och Konfigurera körningsprofiler. Klicka på Ny profil. Vi börjar med fullständig import.
- Välj typen Fullständig import (endast steg).
- Välj partitionen OBJECT=User.
- Välj Tabell och skriv [ANVÄNDARE]. Rulla ned till avsnittet objekttyp med flera värden och ange data som i följande bild. Välj Slutför för att spara steget.
- Välj Nytt steg. Den här gången väljer du OBJECT=Group. På den sista sidan använder du konfigurationen som i följande bild. Klicka på Finish.
- Valfritt: Om du vill kan du konfigurera ytterligare körningsprofiler. För den här genomgången används endast fullständig import.
- Klicka på OK för att slutföra ändring av körningsprofiler.
Lägg till några testdata och testa importen
Fyll i några testdata i exempeldatabasen. När du är klar väljer du Kör och Fullständig import.
Här är en användare med två telefonnummer och en grupp med några medlemmar.
Bilaga A
SQL-skript för att skapa exempeldatabasen
---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