Stegvisa anvisningar för allmän SQL-anslutningsapp
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.
Anteckning
Microsoft Entra-ID:t 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ändaretablering. Läs mer.
Förbereda exempeldatabasen
Kör SQL-skriptet som finns i bilaga A på en server som kör SQL Server. Det här skriptet skapar en exempeldatabas med namnet GSQLDEMO. Objektmodellen för den skapade databasen ser ut så här:
Skapa även 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 allmänna 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ärdiga drivrutinen fungerar bra, så markera 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å den server som kör SQL Server.
- Välj hur du vill 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 lyckas.
- ODBC-konfigurationsfilen bör nu visas i Fil-DSN.
Nu har vi den fil vi behöver och kan börja skapa anslutningsappen.
Skapa den allmänna SQL-anslutningsappen
- I användargränssnittet för synkronisering Service Manager väljer du Anslutningsappar och Skapa. Välj Generisk SQL (Microsoft) och ge det 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 för 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 det objekttypen Användare.
- På sidan Globala parametrar väljer du Vattenstämpel som deltastrategi. Skriv även i datum-/tidsformatet åååå-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örningsprofiler
- I användargränssnittet för synkronisering Service Manager väljer du Anslutningsappar och Konfigurera körningsprofiler. Klicka på Ny profil. Vi börjar med Fullständig import.
- Välj typen Fullständig import (endast fas).
- Välj partitionen OBJECT=User.
- Välj Tabell och skriv [ANVÄNDARE]. Rulla ned till avsnittet med flervärdesobjekttyp och ange data som i följande bild. Spara steget genom att välja Slutför .
- 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. I den här genomgången används endast fullständig import.
- Klicka på OK för att slutföra ändringen av körningsprofilerna.
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