Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Server tertaut memungkinkan Mesin Database SQL Server dan Azure SQL Managed Instance untuk membaca data dari sumber data jarak jauh dan menjalankan perintah terhadap server database jarak jauh (misalnya, sumber data OLE DB), di luar instans SQL Server. Biasanya, Anda mengonfigurasi server tertaut untuk mengaktifkan Mesin Database untuk menjalankan pernyataan Transact-SQL yang menyertakan tabel dalam instans lain SQL Server, atau produk database lain seperti Oracle. Anda dapat mengonfigurasi banyak jenis sumber data OLE DB sebagai server tertaut, termasuk penyedia database pihak ketiga dan Azure Cosmos DB.
Catatan
Server tertaut tersedia di SQL Server dan Azure SQL Managed Instance (dengan beberapa batasan). Server tertaut tidak tersedia di Azure SQL Database.
Kapan menggunakan server tertaut?
Server tertaut memungkinkan Anda menerapkan database terdistribusi yang dapat mengambil dan memperbarui data di database lain. Gunakan server tertaut dalam skenario di mana Anda perlu menerapkan sharding database tanpa membuat kode aplikasi kustom atau langsung memuat dari sumber data jarak jauh. Server tertaut menawarkan keuntungan berikut:
Kemampuan untuk mengakses data dari luar SQL Server.
Kemampuan untuk mengeluarkan kueri terdistribusi, pembaruan, perintah, dan transaksi pada sumber data heterogen di seluruh perusahaan.
Kemampuan untuk mengatasi sumber data yang beragam demikian pula.
Anda dapat mengonfigurasi server tertaut dengan menggunakan SQL Server Management Studio atau dengan menggunakan pernyataan sp_addlinkedserver . Penyedia OLE DB sangat bervariasi dalam jenis dan jumlah parameter yang diperlukan. Misalnya, beberapa penyedia mengharuskan Anda untuk memberikan konteks keamanan untuk koneksi menggunakan sp_addlinkedsrvlogin. Beberapa penyedia OLE DB memungkinkan SQL Server memperbarui data pada sumber OLE DB. Yang lain hanya menyediakan akses data baca-saja. Untuk informasi tentang setiap penyedia OLE DB, lihat dokumentasi untuk penyedia OLE DB tersebut.
Komponen server tertaut
Definisi server tertaut menentukan objek berikut:
Penyedia OLE DB
Sumber data OLE DB
Penyedia OLE DB adalah DLL yang mengelola dan berinteraksi dengan sumber data tertentu. Sumber data OLE DB mengidentifikasi database tertentu yang dapat Anda akses melalui OLE DB. Meskipun sumber data yang dikueri melalui definisi server tertaut biasanya merupakan database, penyedia OLE DB ada untuk berbagai file dan format file. File-file ini mencakup teks biasa, data spreadsheet, dan hasil pencarian konten teks lengkap.
Dimulai dengan SQL Server 2019 (15.x), Driver Microsoft OLE DB untuk SQL Server (PROGID: MSOLEDBSQL) adalah penyedia OLE DB default. Dalam versi sebelumnya, SQL Server Native Client (PROGID: SQLNCLI11) adalah penyedia OLE DB default.
Penting
SQL Server Native Client (sering disingkat SNAC) telah dihapus dari SQL Server 2022 (16.x) dan SQL Server Management Studio 19 (SSMS). Penyedia SQL Server Native Client OLE DB (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan baru. Beralih ke Microsoft OLE DB Driver (MSOLEDBSQL) baru untuk SQL Server ke depannya.
Microsoft mendukung server tertaut ke sumber Excel dan Access hanya saat Anda menggunakan penyedia Microsoft.JET.OLEDB.4.0 OLE DB 32-bit.
Catatan
Kueri terdistribusi SQL Server berfungsi dengan penyedia OLE DB apa pun yang mengimplementasikan antarmuka OLE DB yang diperlukan. Namun, SQL Server telah diuji terhadap penyedia OLE DB default.
Detail server tertaut
Ilustrasi berikut menunjukkan dasar-dasar konfigurasi server tertaut.
Biasanya, Anda menggunakan server tertaut untuk menangani kueri terdistribusi. Saat aplikasi klien menjalankan kueri terdistribusi melalui server tertaut, SQL Server mengurai perintah dan mengirim permintaan ke OLE DB. Permintaan set baris mungkin dalam bentuk menjalankan kueri terhadap penyedia atau membuka tabel dasar dari penyedia.
Agar sumber data mengembalikan data melalui server tertaut, penyedia OLE DB (DLL) untuk sumber data tersebut harus ada di server yang sama dengan instans SQL Server.
Server tertaut mendukung autentikasi pass-through Direktori Aktif saat menggunakan delegasi penuh. Dimulai dengan SQL Server 2017 (14.x) CU17, autentikasi pass-through dengan delegasi yang dibatasi juga didukung; namun, delegasi yang dibatasi berbasis sumber daya tidak didukung.
Penting
Saat Anda menggunakan penyedia OLE DB, akun tempat layanan SQL Server berjalan harus memiliki izin baca dan jalankan untuk direktori, dan semua subdirektori, tempat penyedia diinstal. Persyaratan ini berlaku untuk penyedia yang dirilis Microsoft dan penyedia pihak ketiga mana pun.
Mengelola penyedia
Ada sekumpulan opsi yang mengontrol cara SQL Server memuat dan menggunakan penyedia OLE DB yang ditentukan dalam registri.
Mengelola definisi server tertaut
Saat Anda menyiapkan server tertaut, daftarkan informasi koneksi dan informasi sumber data dengan SQL Server. Setelah terdaftar, Anda dapat merujuk ke sumber data tersebut dengan satu nama logis.
Gunakan prosedur tersimpan dan tampilan katalog untuk mengelola definisi server tertaut:
Buat definisi server tertaut dengan menjalankan
sp_addlinkedserver.Lihat informasi tentang server tertaut yang ditentukan dalam instans SQL Server tertentu dengan menjalankan kueri terhadap
sys.serverstampilan katalog sistem.Hapus definisi server tertaut dengan menjalankan
sp_dropserver. Anda juga dapat menggunakan prosedur tersimpan ini untuk menghapus server jarak jauh.
Anda juga dapat menentukan server tertaut dengan menggunakan SQL Server Management Studio. Di Object Explorer, klik kanan Objek Server, pilih Baru, dan pilih Server Tertaut. Anda dapat menghapus definisi server tertaut dengan mengklik kanan nama server tertaut dan memilih Hapus.
Saat Anda menjalankan kueri terdistribusi terhadap server tertaut, sertakan nama tabel empat bagian yang sepenuhnya memenuhi syarat untuk setiap sumber data yang akan dikueri. Nama empat bagian ini harus dalam bentuk <linked_server_name>.<catalog>.<schema>.<object_name>.
Referensi ke objek sementara selalu diterjemahkan ke instance tempdb lokal jika sesuai, bahkan meskipun diawali dengan nama server yang dihubungkan.
Anda dapat menentukan server tertaut untuk mengarahkan kembali (mengulang kembali) ke server tempat Anda menentukannya. Server loopback paling berguna saat menguji aplikasi yang menggunakan kueri terdistribusi pada satu jaringan server. Server terhubung loopback ditujukan untuk pengujian dan tidak mendukung banyak fungsi, seperti transaksi terdistribusi.
Server yang ditautkan dengan Azure SQL Managed Instance
Server tertaut Azure SQL Managed Instance mendukung autentikasi dan autentikasi SQL dengan ID Microsoft Entra.
Untuk menggunakan pekerjaan SQL Agent di Azure SQL Managed Instance untuk mengkueri server jarak jauh melalui server tertaut, gunakan sp_addlinkedsrvlogin untuk membuat pemetaan dari login di server lokal ke login di server jarak jauh. Ketika pekerjaan SQL Agent tersambung ke server jarak jauh melalui server tertaut, pekerjaan menjalankan kueri T-SQL dalam konteks login jarak jauh. Untuk informasi selengkapnya, lihat Pekerjaan SQL Agent dengan Azure SQL Managed Instance.
Autentikasi Microsoft Entra
Dua mode autentikasi Microsoft Entra yang didukung adalah: identitas terkelola dan pass-through. Gunakan autentikasi identitas terkelola untuk mengizinkan masuk lokal untuk mengkueri server tertaut jarak jauh. Gunakan autentikasi pass-through untuk memungkinkan perwakilan yang dapat mengautentikasi dengan instans lokal untuk mengakses instans jarak jauh melalui server tertaut.
Untuk menggunakan autentikasi pass-through Microsoft Entra untuk server tertaut di Azure SQL Managed Instance, Anda memerlukan prasyarat berikut:
- Prinsipal yang sama ditambahkan sebagai login di server jarak jauh.
- Kedua instans adalah anggota grup kepercayaan SQL.
Catatan
Definisi server tertaut yang sudah ada yang Anda konfigurasi untuk mode pass-through mendukung autentikasi Microsoft Entra. Satu-satunya persyaratan adalah menambahkan SQL Managed Instance ke grup kepercayaan Server.
Batasan berikut berlaku untuk autentikasi Microsoft Entra untuk server tertaut di Azure SQL Managed Instance:
- Autentikasi Microsoft Entra tidak didukung untuk instans terkelola SQL di penyewa Microsoft Entra yang berbeda.
- Autentikasi Microsoft Entra untuk server tertaut hanya didukung dengan driver OLE DB versi 18.2.1 dan yang lebih tinggi.
SQL Server 2025 dan MSOLEDBSQL versi 19
Dimulai dengan SQL Server 2025 (17.x), penyedia MSOLEDBSQL menggunakan Microsoft OLE DB Driver 19 secara default. Driver yang diperbarui ini memperkenalkan peningkatan keamanan yang signifikan, termasuk dukungan untuk TDS 8.0 dan TLS 1.3.
TDS 8.0 meningkatkan keamanan dengan menambahkan opsi enkripsi baru dan memperkenalkan perubahan yang melanggar: Encryption parameter tidak lagi opsional. Anda harus mengaturnya dalam string koneksi ketika menargetkan instans SQL Server lain.
Catatan
Tanpa parameter Encrypt, server terkait di SQL Server 2025 (17.x) menggunakan default Encrypt=Mandatory dan memerlukan sertifikat yang valid. Koneksi tanpa sertifikat yang valid gagal.
Parameter Encryption menawarkan tiga pengaturan yang berbeda:
-
Yes, atauTrue, atauMandatory -
No, atauFalse, atauOptional Strict
Opsi ini Strict mengamanatkan penggunaan TDS 8.0, dan memerlukan sertifikat server untuk koneksi yang aman. Untuk Yes/True/Mandatory, sertifikat tepercaya diharapkan. Anda tidak dapat menggunakan sertifikat yang ditandatangani sendiri.
| Versi OLE DB | Parameter enkripsi | Nilai yang mungkin | Nilai standar |
|---|---|---|---|
| OLE DB 18 | Fakultatif |
True atau Mandatory, False atau No |
No |
| OLE DB 19 | Required |
No atau False, Yes atau Mandatory, Strict (baru) |
Yes |
Parameter TrustServerCertificate didukung, tetapi tidak disarankan. Mengatur Sertifikat Server Kepercayaan untuk Yes menonaktifkan validasi sertifikat, melemahkan keamanan koneksi terenkripsi. Untuk menggunakan Sertifikat Server Kepercayaan , klien juga harus mengaktifkannya di registri komputer. Untuk informasi tentang mengaktifkan Sertifikat Server Kepercayaan, lihat Pengaturan registri. Pengaturan TrustServerCertificate=Yes tidak disarankan untuk lingkungan produksi.
Saat Anda menggunakan Encrypt=False atau Encrypt=Optional:
- Tidak diperlukan sertifikat.
- Jika sertifikat tepercaya disediakan, driver tidak memvalidasinya.
- Koneksi tidak menyediakan enkripsi apa pun.
Saat Anda menggunakan Encrypt=True atau Encrypt=Mandatory, dan tidak menggunakan TrustServerCertificate=Yes:
- Koneksi memerlukan sertifikat yang ditandatangani CA yang valid.
- Sertifikat harus cocok dengan FQDN server.
- Jika nama alternatif dalam sertifikat berbeda dari nama Host SQL Server, maka
HostNameInCertificateharus diatur ke FQDN. - Sertifikat harus diinstal di penyimpanan Otoritas Sertifikasi Akar Tepercaya pada komputer klien.
Saat Anda menggunakan Encrypt=Strict:
- Koneksi memberlakukan TDS 8.0.
- Koneksi memerlukan sertifikat yang ditandatangani CA yang valid dengan kecocokan FQDN.
-
HostNameInCertificateharus diatur ke FQDN. - Sertifikat harus dipercaya oleh sistem klien.
-
TrustServerCertificatekonfigurasi tidak didukung. Sertifikat yang valid harus ada.
| Pengaturan klien Sertifikat Server Kepercayaan | String koneksi/atribut koneksi Sertifikat Server Kepercayaan | Validasi sertifikat |
|---|---|---|
| 0 |
No (standar) |
Ya |
| 0 | Yes |
Ya |
| 1 |
No (standar) |
Ya |
| 1 | Yes |
Tidak. |
Anda harus menentukan pengaturan ini dengan benar dalam string koneksi saat mengonfigurasi koneksi server tertaut, untuk memastikan kompatibilitas dan keamanan dengan driver baru.
Pembaruan dari versi OLEDB sebelumnya
Berlaku untuk: SQL Server 2025 (17.x) dan versi yang lebih baru
Saat Anda bermigrasi dari SQL Server edisi sebelumnya ke SQL Server 2025 (17.x) dengan Microsoft OLE DB Driver 19, konfigurasi server tertaut yang ada mungkin gagal. Nilai default yang berbeda untuk parameter enkripsi dapat menyebabkan kegagalan ini kecuali Anda memberikan sertifikat yang valid.
Atau, Anda dapat membuat ulang server yang ditautkan dan menyertakan Encrypt=Optional dalam string koneksi. Jika Anda tidak dapat mengubah konfigurasi server tertaut, aktifkan bendera 17600 pelacakan untuk mempertahankan perilaku dan default OLE DB 18.
Di Wizard Pembuatan Server Tertaut SQL Server Management Studio (SSMS), gunakan opsi Sumber Data Lain untuk mengonfigurasi opsi Enkripsi server yang ditautkan secara manual.
Untuk informasi selengkapnya tentang OLE DB 19 dan enkripsi, sertifikat, dan perilaku Sertifikat Server Kepercayaan untuk OLE DB 19, lihat Validasi enkripsi dan sertifikat di OLE DB.