Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 R2 sebagai satu file yang dapat diunduh. Karena perbaikannya bersifat kumulatif, setiap rilis baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan R2 SQL Server 2008 sebelumnya.
Gejala
Pertimbangkan skenario berikut:
-
Anda memiliki model Master Data Services (MDS) dan entitas yang memiliki atribut berbasis domain di Microsoft SQL Server 2008 R2. Atribut berbasis domain dirancang untuk merujuk sendiri ke atribut yang sama.Misalnya, Anda memiliki entitas Karyawan yang memiliki atribut ManagerName. Atribut ManagerName merujuk ke entitas Karyawan yang sama itu sendiri.Catatan Manajer juga semacam karyawan.
-
Terdapat hierarki turunan yang ditentukan pada atribut untuk menampilkan hubungan induk/turunan rekurtif untuk atribut berbasis domain.
-
Anda memuat nilai data yang berisi satu atau beberapa referensi melingkar ke tabel pementasan MDS. Perilaku ini menyebabkan referensi melingkar, dan simpul pertama dalam atribut bukanlah bagian dari lingkaran.Misalnya, pola data berikut ini memperlihatkan referensi melingkar. Namun, nilai anggota Member1 bukan bagian dari lingkaran:
Member1 --manager attribute--> Member2 --manager attribute--> Member3 --manager attribute--> Member2 --manager attribute--> Member3
insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
-
Anda menggunakan salah satu metode berikut ini untuk memuat nilai data ke dalam entitas menggunakan proses pementasan MDS:
-
Jalankan Exec [mdm]. [udpStagingSweep] prosedur dengan menggunakan parameter yang diperlukan untuk memproses data bertahap.
-
Klik Manajemen Integrasi untuk mengunjungi laman situs web MDS. Pada halaman Impor Ekspor , di bawah header bagian Catatan Pementasan Tidak Dibatasi , klik Ikon Gerigi untuk memproses rekaman untuk model dan versi tertentu.
-
Dalam skenario ini, proses latar belakang selama proses pementasan mungkin mengalami pengulangan tak terbatas ketika proses latar belakang memanggil [mdm] secara internal. [udpMemberRecursiveCircularCheck] prosedur.
Penyebab
Masalah ini terjadi karena prosedur udpStagingSweep dan udpStagingMemberAttributeSave memanggil prosedur udpMemberRecursiveCircularCheck satu kali untuk setiap baris pementasan. Perilaku ini harus memeriksa nilai atribut berbasis domain, dan mengembalikan kesalahan jika baris pementasan menyebabkan referensi melingkar bersama dengan data yang sudah ada. Setelah semua baris pementasan dicentang, Anda menerima hasil berikut:
-
Baris pementasan tanpa kesalahan diterapkan.
-
Baris pementasan dengan kesalahan dicatat dengan kode kesalahan.
Jika kondisi yang dijelaskan di bagian "Gejala" benar, [mdm]. [udpMemberRecursiveCircularCheck] prosedur mengulang tanpa batas hingga sumber daya server habis, atau waktu habis terjadi.
Resolusi
Informasi pembaruan kumulatif
SQL Server 2008 R2 Paket Layanan 1
Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 4. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2 SP1, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:
2633146 Paket Pembaruan Kumulatif 4 untuk SQL Server 2008 R2 Service Pack 1Note Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 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:
2567616 Build R2 SQL Server 2008 yang dirilis setelah SQL Server 2008 R2 Service Pack 1 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 salah satu metode berikut ini:
-
Untuk mencegah masalah, ikuti langkah-langkah ini:
-
Tinjau secara manual nilai data anggota yang sedang disisipkan ke dalam tabel pementasan sebelum Anda menjalankan proses pementasan.
-
Pastikan semua nilai anggota untuk atribut berbasis domain apa pun tidak berisi referensi melingkar yang dijelaskan di bagian "Gejala"
-
-
Ketika masalah yang dijelaskan di bagian "Gejala" terjadi, ikuti langkah-langkah ini untuk memperbaiki masalah:
-
Identifikasi sesi yang berjalan dalam pengulangan tak terbatas.
-
Bunuh sesi untuk menghentikan pengulangan.
-
Hapus nilai referensi melingkar dari tabel pementasan sebelum referensi melingkar diproses lagi.
-
Catatan
-
Untuk mengidentifikasi sesi mana yang akan dibunuh, gunakan salah satu metode berikut:
-
Gunakan monitor aktivitas di Microsoft SQL Server Management Studio.
-
Pilih dari sys.sysprocesses atau sys.dm_exec_requests tampilan manajemen dinamis (DMV) untuk mengidentifikasi sesi yang bekerja di dalam database MDS di mana CPU dan waktu bertambah dengan cepat. Pastikan bahwa kueri saat ini yang berjalan pada sesi cocok dengan nama prosedur yang dijelaskan di bagian "Penyebab".
-
-
Untuk mengidentifikasi prosedur yang sedang berjalan untuk sesi, gunakan salah satu metode berikut:
-
Klik kanan menu Detail pada setiap proses dalam daftar proses monitor aktivitas.
-
Gunakan salah satu parameter berikut:
-
Perintah DBCC INPUTBUFFER (spid) bersama dengan ID sesi.
-
Fungsi SELECT * FROM sys.dm_exec_sql_text(sqlhandle) bersama-sama dengan parameter gagang SQL yang cocok ketika Anda menggunakan output DMV.
-
-
Referensi
Untuk informasi selengkapnya tentang cara membuka monitor aktivitas di SQL Server Management Studio, kunjungi situs web MSDN berikut ini:
Cara membuka monitor aktivitas di SQL Server Management StudioUntuk informasi selengkapnya tentang sintaks KILL, kunjungi situs web MSDN berikut:
Informasi umum tentang sintaks KILLUntuk informasi selengkapnya tentang sys.dm_exec_requests DMV, kunjungi situs web MSDN berikut ini:
Informasi umum tentang sys.dm_exec_requests DMVUntuk informasi selengkapnya tentang sys.dm_exec_sql_text DMV, kunjungi situs web MSDN berikut ini:
Informasi umum tentang sys.dm_exec_sql_text DMVUntuk informasi selengkapnya tentang perintah DBCC INPUTBUFFER, kunjungi situs web MSDN berikut ini:
Informasi umum tentang perintah DBCC INPUTBUFFERUntuk informasi selengkapnya tentang Model Pelayanan Tambahan untuk SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:
935897 Model Pelayanan Tambahan tersedia dari tim SQL Server untuk memberikan hotfix untuk masalah yang dilaporkanUntuk informasi selengkapnya tentang skema penamaan untuk pembaruan SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:
822499 Skema penamaan baru untuk paket pembaruan perangkat lunak SQL Server MicrosoftUntuk informasi selengkapnya tentang terminologi pembaruan perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft