Menggabungkan Data Heterogen

Organisasi umum menyimpan data dalam beberapa database heterogen. Data Sumber Daya Manusia dapat disimpan dalam SQL Server, sementara data manajemen akun disimpan di direktori. Data lain dapat disimpan dalam format kepemilikan.

Dengan, SQL Server 7.0, ADSI, dan Penyedia OLE DB, dimungkinkan untuk menggabungkan data dari Direktori Aktif ke data di SQL Server dan membuat tampilan data yang bergabung.

Untuk menggabungkan Data Direktori Aktif dengan data SQL Server

  1. Menjalankan SQL Query Analyzer (Mulai | Program | Microsoft SQL Server 7.0)

  2. Masuk ke komputer SQL Server.

  3. Jalankan baris berikut (dengan menyorotinya dan menekan CTRL+E):

    EXEC sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 
    'ADSDSOObject', 'adsdatasource'
    GO
    

    Dalam baris ini, argumen untuk Prosedur Tersimpan Sistem sp_addlinkedserver adalah sebagai berikut:

    • "ADSI" adalah argumen server , yang akan menjadi nama server yang ditautkan ini.
    • "Layanan Direktori Aktif" adalah argumen srvproduct , yang merupakan nama sumber data OLE DB yang Anda tambahkan sebagai server tertaut.
    • "ADSDSOObject" adalah argumen provider_name dan menunjukkan bahwa Anda menggunakan Penyedia OLE DB.
    • "adsdatasource" adalah argumen data_source, yang merupakan nama sumber data seperti yang ditafsirkan oleh Penyedia OLE DB.

    Sekarang Anda dapat menggunakan server yang ditautkan untuk mengakses Direktori Aktif dari SQL Server.

  4. Contoh berikutnya melakukan kueri menggunakan pernyataan OPENQUERY . Pernyataan ini memiliki dua argumen: ADSI, yang merupakan nama server tertaut yang baru saja Anda buat, dan pernyataan kueri. Pernyataan kueri berisi item berikut:

    • Pernyataan SELECT berisi daftar data yang akan diperoleh dari layanan direktori. Anda harus menggunakan nama tampilan LDAP untuk menunjukkan data mana yang Anda cari.
    • Pernyataan FROM berisi nama server direktori tertaut tempat informasi ini akan diperoleh.
    • Pernyataan WHERE menyediakan kondisi pencarian. Dalam contoh ini, ia mencari pengguna.

    Ketik dan jalankan:

    SELECT * FROM OPENQUERY( ADSI, 
        'SELECT name, adsPath 
         FROM 'LDAP://DC=Fabrikam,DC=com' 
         WHERE objectCategory = 'Person' AND objectClass= 'user'')
    

    Anda juga dapat menggunakan dialek ADSI LDAP. Contohnya:

    SELECT * FROM OPENQUERY(ADSI,
        '<LDAP://DC=Fabrikam,DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
    

    Dalam contoh sebelumnya, kueri LDAP memiliki empat bagian:

    • "<LDAP://DC=Fabrikam,DC=COM>" adalah nama yang dibedakan dari server direktori untuk dicari.
    • "((&objectCategory=Person)(objectClass=user))" adalah filter pencarian LDAP (lihat Sintaks Filter Pencarian).
    • "name, adspath" adalah nama (menggunakan format nama tampilan LDAP) dari atribut yang akan diambil.
    • "subtree" menunjukkan cakupan pencarian.

Membuat dan Menjalankan Tampilan