Konektor SQL Generik langkah demi langkah
Topik ini adalah panduan langkah demi langkah. Ini membuat sampel database SDM sederhana dan menggunakannya untuk mengimpor beberapa pengguna dan keanggotaan grup mereka.
Catatan
Microsoft Entra ID sekarang menyediakan solusi berbasis agen ringan untuk menyediakan pengguna ke dalam database SQL, tanpa memerlukan penyebaran sinkronisasi MIM. Sebaiknya gunakan untuk provisi pengguna keluar. Pelajari lebih lanjut.
Menyiapkan database sampel
Pada server yang menjalankan SQL Server, jalankan skrip SQL yang ditemukan di Lampiran A. Skrip ini membuat database sampel dengan nama GSQLDEMO. Model objek untuk database yang dibuat terlihat seperti gambar ini:
Buat juga pengguna yang ingin Anda gunakan untuk menyambungkan ke database. Dalam panduan ini, pengguna disebut FABRIKAM\SQLUser dan terletak di domain.
Membuat file koneksi ODBC
Konektor SQL Generik menggunakan ODBC untuk menyambungkan ke server jarak jauh. Pertama, kita perlu membuat file dengan informasi koneksi ODBC.
- Mulai utilitas manajemen ODBC di server Anda:
- Pilih tab File DSN. Klik Tambahkan....
- Driver out-of-box berfungsi dengan baik, jadi pilih dan klik Berikutnya>.
- Beri nama file, seperti GenericSQL.
- Klik Selesai.
- Waktu untuk mengonfigurasi koneksi. Berikan deskripsi yang baik kepada sumber data dan berikan nama server yang berjalan SQL Server.
- Pilih cara mengautentikasi dengan SQL. Dalam hal ini, kami menggunakan Autentikasi Windows.
- Berikan nama database sampel, GSQLDEMO.
- Pertahankan semuanya secara default pada layar ini. Klik Selesai.
- Untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan, klik Uji Sumber Data.
- Pastikan pengujian berhasil.
- File konfigurasi ODBC sekarang harus terlihat di File DSN.
Kita sekarang memiliki file yang kita butuhkan dan dapat mulai membuat Konektor.
Membuat Konektor SQL Generik
- Di antarmuka pengguna Synchronization Service Manager, pilih Konektor dan Buat. Pilih SQL Generik (Microsoft) dan beri nama deskriptif.
- Temukan file DSN yang Anda buat di bagian sebelumnya dan unggah ke server. Berikan kredensial untuk menyambungkan ke database.
- Dalam panduan ini, kami memudahkan kami dan mengatakan bahwa ada dua jenis objek, Pengguna dan Grup.
- Untuk menemukan atribut, kita ingin Konektor mendeteksi atribut tersebut dengan melihat tabel itu sendiri. Karena Pengguna adalah kata khusus di SQL, kita perlu menyediakannya dalam kurung siku [ ].
- Waktu untuk menentukan atribut jangkar dan atribut DN. Untuk Pengguna, kami menggunakan kombinasi dua atribut nama pengguna dan EmployeeID. Untuk grup, kami menggunakan GroupName (tidak realistis dalam kehidupan nyata, tetapi untuk panduan ini berhasil).
- Tidak semua jenis atribut dapat dideteksi dalam database SQL. Jenis atribut referensi khususnya tidak dapat. Untuk jenis objek grup, kita perlu mengubah OwnerID dan MemberID menjadi referensi.
- Atribut yang kami pilih sebagai atribut referensi pada langkah sebelumnya memerlukan jenis objek yang menjadi referensi nilai ini. Dalam kasus kami, jenis objek Pengguna.
- Pada halaman Parameter Global, pilih Marka Air sebagai strategi delta. Ketik juga format tanggal/waktu yyyy-MM-dd HH:mm:ss.
- Pada halaman Konfigurasi Partisi dan Hierarki , pilih kedua jenis objek.
- Pada Pilih Jenis Objek dan Pilih Atribut, pilih jenis objek dan semua atribut. Pada halaman Konfigurasi Jangkar , klik Selesai.
Membuat Profil Eksekusi
- Di antarmuka pengguna Synchronization Service Manager, pilih Konektor, dan Konfigurasikan Jalankan Profil. Klik Profil Baru. Kita mulai dengan Impor Penuh.
- Pilih jenis Impor Penuh (Hanya Tahap).
- Pilih partisi OBJECT=User.
- Pilih Tabel dan ketik [USERS]. Gulir ke bawah ke bagian tipe objek multinilai dan masukkan data seperti pada gambar berikut. Pilih Selesai untuk menyimpan langkah.
- Pilih Langkah Baru. Kali ini, pilih OBJECT=Group. Pada halaman terakhir, gunakan konfigurasi seperti pada gambar berikut. Klik Selesai.
- Opsional: Jika mau, Anda dapat mengonfigurasi profil eksekusi tambahan. Untuk panduan ini, hanya Impor Penuh yang digunakan.
- Klik OK untuk menyelesaikan perubahan profil eksekusi.
Menambahkan beberapa data pengujian dan menguji impor
Isi beberapa data pengujian dalam database sampel Anda. Saat Anda siap, pilih Jalankan dan Impor penuh.
Berikut adalah pengguna dengan dua nomor telepon dan grup dengan beberapa anggota.
Lampiran A
Skrip SQL untuk membuat database sampel
---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