Hotfix ini juga berlaku untuk Microsoft SQL Server 2014 Analysis Services (SSAS 2014).
Gejala
Misalnya Anda memiliki beberapa dimensi di Microsoft SQL Server 2012 Analysis Services (SSAS 2012) atau kubus SQL Server 2014 Analysis Services (SSAS 2014) (Tfs_Analysis) yang berisi data untuk Microsoft Visual Studio Team Foundation Server (TFS). Saat Anda menjalankan perintah proses terhadap dimensi, pemrosesan mungkin gagal, dan Anda menerima pesan kesalahan berikut:
Kesalahan internal: kesalahan yang tidak terduga terjadi (file ' pfiallocator. CPP ', Line 822, fungsi ' PFMemoryHolder:: RegisterMemoryHolder ').
Jika Anda menggunakan SQL Profiler untuk melacak masalah, jejak memperlihatkan bahwa pesan kesalahan berikut ini terjadi selama perintah Processfull pada dimensi Vdimworkitemtreeoverlay :
Kesalahan internal: kesalahan yang tidak terduga terjadi (file ' pfiallocator. CPP ', Line 822, fungsi ' PFMemoryHolder:: RegisterMemoryHolder '). Kesalahan dalam mesin penyimpanan OLAP: terjadi galat saat atribut ' WorkItemTreeSK ' dari dimensi ' pohon item kerja ' dari database ' Tfs_Analysis ' sedang diproses.
Catatan Kegagalan pemrosesan mempengaruhi desain database Analysis Services yang memiliki sumber data yang menggunakan penyedia data .NET Framework yang dikelola untuk SQL Server, yaitu System. data. SqlClient.
Penyebab
Masalah ini terjadi karena nilai kunci dimensi duplikat di sumber data digunakan oleh pemrosesan Analysis Services.
Pemecahan Masalah
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 1 untuk SQL Server 2014 /en-us/help/2931693
Pembaruan kumulatif 6 untuk SQL Server 2012 SP1 /en-us/help/2874879
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Informasi Selengkapnya
Setelah Anda menerapkan perbaikan terbaru, pemrosesan akan berperilaku sesuai dengan pengaturan konfigurasi kesalahan pemrosesan dan bukan berdasarkan gejala kesalahan internal. Anda dapat mengontrol perilaku dengan menggunakan pengaturan tombol duplikat saat Anda MEMPROSES dimensi SSAS. Atau, Anda bisa mengontrol perilaku dengan mengonfigurasi properti Keyduplicate properti errorconfiguration sebagai berikut ketika Anda mendesain dimensi:
-
Ketika pengaturan Keyduplicate diatur ke ignorekesalahanpengaturan default, tidak ada peringatan ketika nilai kunci duplikat ditemui, dan pemrosesan berlanjut.
-
Ketika pengaturan Keyduplicate diatur ke reportandcontinue, kesalahan atau peringatan dilaporkan. Namun, pemrosesan berlanjut.
-
Ketika pengaturan Keyduplicate diatur ke reportandstop, kesalahan atau peringatan dilaporkan, dan pemrosesan dihentikan.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Penyelesaian Masalah
Untuk mengatasi masalah ini, Hapus kunci duplikat yang tidak valid dalam tabel dimensi gudang data dalam mesin database SQL Server. Anda bisa menggunakan kueri berikut untuk menemukan kunci duplikat:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Referensi
Untuk informasi selengkapnya tentang opsi pemrosesan dan pengaturan, kunjungi situs web MSDN berikut:
Informasi tentang opsi pemrosesan dan pengaturanUntuk informasi selengkapnya tentang cara memproses gudang atau kubus secara manual, kunjungi situs web MSDN berikut:
Memproses kubus Data Warehouse and Analysis Services Cube secara manual