Bu düzeltme Microsoft SQL Server 2014 Analysis Services (SSAS 2014) için de geçerlidir.
Belirtiler
Microsoft SQL Server 2012 Analysis Services (SSAS 2012) veya SQL Server 2014 Analysis Services (SSAS 2014) küpünde (Tfs_Analysis) Microsoft Visual Studio Team Foundation Server (TFS) verilerini içeren bir Boyutlar olduğunu varsayalım. Boyutlarla ilgili bir işlem komutu çalıştırdığınızda, işlem başarısız olabilir ve aşağıdaki hata iletisini alırsınız:
İç hata: beklenmeyen bir hata oluştu (' pfiayırıcısı. cpp ', Line 822, Function ' Pfmemorytutucusu:: Registermemorytutucusu ').
Sorunu izlemek için SQL Profiler kullanıyorsanız, izleme, Vdimworkıtemtreeyerpaylaşımı boyutundaki ProcessFull komutu sırasında aşağıdaki hata iletisinin oluştuğunu gösterir:
İç hata: beklenmeyen bir hata oluştu (' pfiayırıcısı. cpp ', Line 822, Function ' Pfmemorytutucusu:: Registermemorytutucusu '). OLAP depolama altyapısındaki hatalar: ' Tfs_Analysis ' veritabanından ' çalışma öğesi ağacının ' boyutunun ' Workıtemtreesk ' özniteliği işlenirken hata oluştu.
Notİşlem hatası, System. Data. SqlClient olan SQL Server için yönetilen .NET Framework veri sağlayıcısını kullanan Çözümleme Hizmetleri veritabanı tasarımlarını etkiler.
Neden
Sorun, veri kaynağındaki yinelenen boyut anahtarı değerinin Analysis Services işlemi tarafından kullanıldığı için oluşur.
Çözüm
Sorun ilk olarak SQL Server 'ın aşağıdaki toplu güncelleştirmesinde giderilmiştir.
SQL Server 2014 için toplu güncelleştirme 1 /en-us/help/2931693
SQL Server 2012 SP1 için toplu güncelleştirme 6 /en-us/help/2874879
Her bir SQL Server toplu güncelleştirmesi, önceki toplu güncelleştirmeyle birlikte gelen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. En son SQL Server güncelleştirmelerini gözden geçirin:
Ek Bilgi
Düzeltmeyi uyguladıktan sonra, işlem, iç hata belirtileri doğrultusunda işleme hatası yapılandırma ayarlarına göre davranır. SSAS boyutlarını bitirdiğinizde yinelenen anahtar ayarını kullanarak davranışı denetleyebilirsiniz. Ya da, siz boyutları tasarlarken ErrorConfiguration özelliğinin KeyDuplicate özelliğini yapılandırarak davranışı denetleyebilirsiniz:
-
KeyDuplicate ayarı varsayılan değer olan IgnoreErrorayarına ayarlandığında, yinelenen anahtar değerine rastlana ve işleme devam eder.
-
KeyDuplicate ayarı ReportAndContinue olarak ayarlandığında hatalar veya uyarılar bildirilir. Ancak işleme devam eder.
-
KeyDuplicate ayarı ReportAndStopolarak ayarlandığında, hatalar veya uyarılar bildirilir ve işlem durdurulur.
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Geçici Çözüm
Bu soruna geçici bir çözüm için, SQL Server veritabanı altyapısındaki veri ambarı boyut tablolarında geçersiz Yinelenen anahtarı silin. Yinelenen anahtarı bulmak için aşağıdaki sorguyu kullanabilirsiniz:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Başvurular
İşleme seçenekleri ve ayarları hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesine gidin:
İşleme seçenekleri ve ayarları hakkında bilgiAmbarı veya küpü el ile işleme hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesine gidin:
Team Foundation Server için veri ambarını ve Çözümleme Hizmetleri küpünü elle işleme