Masalah:
Bagaimanakah anda boleh mendapatkan data dengan cekap daripada berbilang pangkalan data SQL Server yang terletak pada pelayan berbeza menggunakan satu pertanyaan?
Penyelesaian:
Manfaatkan fungsi Pelayan Terpaut SQL Server. Ini membolehkan anda membuat sambungan ke pelayan jauh dan mengakses pangkalan data mereka seolah-olah ia adalah tempatan. Begini caranya:
Pendekatan 1: Menggunakan SQL Server Management Studio (SSMS)
Pendekatan 2: Menggunakan sp_addlinkedserver
Prosedur Tersimpan
Laksanakan prosedur tersimpan berikut, menggantikan ruang letak dengan nilai sebenar anda:
<code class="language-sql">EXEC sp_addlinkedserver @server_name = N'YourLinkedServerName', @srvproduct = N'SQL Server', @provider_name = N'SQLNCLI', @data_source = N'YourServerAddress'</code>
Selepas berjaya menyediakan pelayan terpaut, anda boleh menanyakan data merentas pelayan:
<code class="language-sql">SELECT * FROM YourLocalTable INNER JOIN [YourLinkedServerName].[YourLinkedDatabase].[YourSchema].[YourRemoteTable] ON YourLocalTable.ID = YourRemoteTable.ID;</code>
Pertimbangan Penting: Ingat untuk menggantikan YourLinkedServerName
, YourLinkedDatabase
, YourSchema
, YourLocalTable
dan YourRemoteTable
dengan nama pelayan khusus anda, nama pangkalan data, nama skema dan nama jadual . Skema mungkin berbeza daripada "dbo", jadi sahkan nama skema yang betul untuk jadual jauh anda. Menggunakan klausa JOIN
yang sesuai (seperti INNER JOIN
ditunjukkan di atas) adalah penting untuk mendapatkan data yang cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Data daripada Berbilang Pelayan Menggunakan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!