Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap Edaran baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 Service Pack 2 sebelumnya.
Gejala
Anda mungkin menerima hasil yang salah ketika menjalankan kueri di Microsoft SQL Server 2008 R2 SP2 atau di Microsoft SQL Server 2012 jika kondisi berikut ini benar:
-
Kueri menggunakan klausul umpan silang atas hasil klausul Join lengkap .
-
Data tabel disediakan dengan memanggil fungsi Valued tabel yang ditentukan pengguna dalam klausa Join lengkap .
-
Fungsi ini menerima nama kolom sebagai parameter, dan mengembalikan hasil sebagai tabel.
Misalnya, Anda menjalankan kueri yang menyerupai berikut ini:
SELECT * FROM tablename CROSS APPLY ( SELECT * FROM (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1 FULL JOIN (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2 ON s1.nodeName = s2.nodeName ) s
Catatan Masalah ini tidak terjadi di Microsoft SQL Server 2012.
Pemecahan Masalah
Informasi pembaruan kumulatif
Pembaruan kumulatif 7 untuk SQL Server 2012
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 7. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2012, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2823247 Paket pembaruan kumulatif 7 untuk SQL Server 2012Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2012 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2692828 Build 2012 SQL Server yang dirilis setelah SQL Server 2012 dirilis
Pembaruan kumulatif 3 untuk SQL Server 2012 SP1
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 3. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2012 SP1, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2812412 Paket pembaruan kumulatif 3 untuk SQL Server 2012 Paket Layanan 1Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2012 SP1 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2772858 Build 2012 SQL Server yang dirilis setelah SQL Server 2012 Service Pack 1 dirilis
Pembaruan kumulatif 5 untuk SQL Server 2008 R2 SP2
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 5. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2 SP 2, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2797460 Paket pembaruan kumulatif 5 untuk SQL Server 2008 R2 Service Pack 2Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 SP 2 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2730301 Build SQL Server 2008 R2 yang dirilis setelah SQL Server 2008 R2 Service Pack 2 dirilis
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Penyelesaian Masalah
Untuk mengatasi masalah ini, gunakan klausa Gabung gabungan penuh dan bukan klausa Join lengkap . Misalnya, Anda mengubah kueri yang disebutkan di bagian "gejala" untuk kueri yang menyerupai berikut ini:
SELECT * FROM tablename CROSS APPLY ( SELECT * FROM (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1 FULL MERGE JOIN (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2 ON s1.nodeName = s2.nodeName ) s
Informasi Selengkapnya
Untuk informasi selengkapnya tentang cara menggunakan klausul Terapkan silang , kunjungi situs web Microsoft TechNet berikut:
Informasi umum tentang cara menggunakan klausul TERAPKAN silang