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:
Objektmodell

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.

  1. Starta ODBC-hanteringsverktyget på servern:
    Skärmbild som visar ett sökfält med O D B C angivet.
  2. Välj fliken Fil-DSN. Klicka på Lägg till....
    Skärmbild av O D B C-hanteringsverktyget med fliken Fil D S N markerad.
  3. Den färdiga drivrutinen fungerar bra, så markera den och klicka på Nästa>.
    Skärmbild som visar drivrutinsalternativen för den nya datakällan.
  4. Ge filen ett namn, till exempel GenericSQL.
    Skärmbild som visar ett exempel på ett nytt filnamn som angetts i fältet och knappen Nästa.
  5. Klicka på Finish.
    Skärmbild som visar information om den nya datakällan och knappen Slutför.
  6. Tid för att konfigurera anslutningen. Ge datakällan en bra beskrivning och ange namnet på den server som kör SQL Server.
    Skärmbild som visar konfigurationsguiden med en exempelbeskrivning och servernamn och knappen Nästa.
  7. Välj hur du vill autentisera med SQL. I det här fallet använder vi Windows-autentisering.
    Skärmbild som visar autentiseringssteget med alternativet för integrerad Windows-autentisering valt och knappen Nästa.
  8. Ange namnet på exempeldatabasen , GSQLDEMO.
    Skärmbild som visar databasnamnet som angetts i databasfältet och knappen Nästa.
  9. Behåll allt som standard på den här skärmen. Klicka på Finish.
    Skärmbild som visar standardinställningarna i det sista steget i guiden och knappen Slutför.
  10. Om du vill kontrollera att allt fungerar som förväntat klickar du på Testa datakälla.
    Skärmbild som visar konfigurationsinformationen för den nya O D B C-datakällan och knappen Testdatakälla.
  11. Kontrollera att testet lyckas.
    Skärmbild som visar testresultatet och en O K-knapp.
  12. ODBC-konfigurationsfilen bör nu visas i Fil-DSN.
    Skärmbild av O D B C-hanteringsverktyget med fliken Fil D S N markerad och den nya O D B C-konfigurationsfilen i listan.

Nu har vi den fil vi behöver och kan börja skapa anslutningsappen.

Skapa den allmänna SQL-anslutningsappen

  1. 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.
    Skärmbild som visar guiden Skapa anslutningsapp med anslutningsappen vald och knappen Nästa.
  2. 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.
    Skärmbild som visar D S N-filen med angivna autentiseringsuppgifter och knappen Nästa.
  3. 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. Skärmbild som visar de två objekttyperna som angetts i listfältet med fast värde och knappen Nästa.
  4. 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 [ ].
    Skärmbild som visar attributidentifieringsvärdet för tabellen och tabellvärdet för användare och knappen Nästa.
  5. 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). Skärmbild som visar användarnamn, medarbetar-ID och gruppnamn med knappen Nästa.
  6. 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.
    Skärmbild som visar de uppdaterade fälten för ägar-ID och medlems-ID och knappen Nästa.
  7. 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.
    Skärmbild som visar den valda objekttypen och knappen Nästa.
  8. På sidan Globala parametrar väljer du Vattenstämpel som deltastrategi. Skriv även i datum-/tidsformatet åååå-MM-dd HH:mm:ss. Skärmbild som visar fälten för deltastrategi och datum- och tidsformat samt knappen Nästa.
  9. På sidan Konfigurera partitioner och hierarkier väljer du båda objekttyperna. Skärmbild som visar båda objekttyperna valda och knappen Nästa.
  10. 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

  1. 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.
    Skärmbild som visar guiden Konfigurera körningsprofil med Fullständig import angivet i fältet Namn och knappen Nästa.
  2. Välj typen Fullständig import (endast fas).
    Skärmbild som visar den valda typen och knappen Nästa.
  3. Välj partitionen OBJECT=User.
    Skärmbild som visar den valda partitionen och knappen Nästa.
  4. 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 .
    Skärmbild som visar den valda åtgärdsmetoden Tabell och användare i tabellfältet.
    Skärmbild som visar värden av objekttyp med flera värden som angetts för namn och kopplingsvillkor.
  5. 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.
    Skärmbild som visar den valda åtgärdsmetoden Tabell och grupp i tabellfältet.
    Skärmbild som visar objekttypsvärden som angetts för namnet på tabellen och kopplingsvillkoret.
  6. Valfritt: Om du vill kan du konfigurera ytterligare körningsprofiler. I den här genomgången används endast fullständig import.
  7. 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.
Skärmbild av data som visar en användare med två telefonnummer.
Skärmbild av data som visar 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