School of Information Systems

LINK Server di dalam Microsoft SQL Database : Mengatasi beberapa error yang muncul karena perbedaan versi SQL.

Link Server adalah suatu hubungan dari satu server ke server yang lain yang berbeda lokasi dan Servernya. Perbedaan juga dapat terjadi terhadap platform dari satu database dengan database yang lainnya, misalnya Server Database SQL Server dengan Server Database Oracle atau yang lainnya. Dalam artikel ini akan dibahas beberapa hal yang biasanya terjadi pada saat membuat suatu LINK server di database Ms. SQL Server.

Jika anda membuat suatu LINK Server di SQL Server 64 Bit, dimana LINK server tersebut akan membaca server dengan 32 Bit. (Dua versi SQL yang berbeda).  Setelah dibuat Link Server dari 64 Bit ke 32 Bit, selanjutnya server tersebut digunakan untuk melakukan Query, akan tetapi query tersebut menghasilkan kesalahan yang muncul seperti di bawah ini.

Jkia menerima error seperti yang ditunjukkan di bawah:

The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.

Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset “DBSCHEMA_TABLES_INFO” for OLE DB provider “SQLNCLI” for linked server “”. The provider supports the interface, but returns a failure code when it is used.

Ini terjadi karena terjadi perbedaan versi SQL Servernya.

Untuk mengatasinya,

1 . login ke server 32-bit. Yang digunakan sebagai tujuan LINK Server.

  1. Cari lokasi file berikut ini :  Instcat.sql,  jika sudah ketemu , yang biasanya akan berada di folder C:WindowsSystem32.
  2. Gunakan instruksi berikut dari command prompt (misalnya C:> ), sesuai dengan Authentcation yang digunakan untuk connection SQL Server tersebut, yaitu Windows Authentication atau User Authentication.

Untuk Windows Authentication :

osql -E -S -i c:windowssystem32instcat.sql

Untuk User Authentication :
osql -U -P -S -i instcat.sql

SIS

Gambar Detail Link Server

Sumber: http://technet.microsoft.com/en-us/library/ms188279.aspx

Secara khusus, link server dipergunakan untuk menangani query terdistribusi. Ketika aplikasi Client menjalankan query terdistribusi melalui suatu link server, SQL Server mem-parse perintah dan mengirimkan permintaan ke OLE DB. Permintaan rowset dapat berada dalam bentuk menjalankan query terhadap provider atau membuka suatu table asal dari provider tersebut.

Untuk suatu sumber data mengembalikan data melalui suatu link server, provider OLE DB (DLL) untuk sumber data tersebut harus ada di dalam server yang sama sebagai instance dari SQL Server.

Ketika provider OLE DB Thirt-party dipergunakan, account di bawahnya Servive SQL Server yang berjalan harus dapat membaca dan menjalankan permission untuk directory, dan seluruh subdirectory, dimana provider tersebut di-install.

Fungsi dari Link Server adalah :

  • Kemampuan mengakses data dari sisi luar SQL Server.
  • Kemampuan terhadap masalah query terdistribusi, update, Command/perintah, dan transaksi pada sumber data yang heterogen (berbagai platform database) di antara perusahaan
  • Kemampuan untuk mengarahkan sumber data yang berbeda secara sama.