Táto rýchla oprava sa vzťahuje aj na služby Microsoft SQL Server 2014 Analysis Services (BAL 2014).
Príznaky
Predpokladajme, že máte niektoré dimenzie v službe Microsoft SQL Server 2012 Analysis Services (BAL 2012) alebo v kocke SQL Server 2014 Analysis Services (BAL 2014) (Tfs_Analysis), ktorá obsahuje údaje pre Microsoft Visual Studio Team Foundation Server (TFS). Keď spustíte príkaz proces voči dimenziám, spracovanie môže zlyhať a zobrazí sa toto chybové hlásenie:
Vnútorná chyba: Vyskytla sa neočakávaná chyba (súbor ' pfiallocator. cpp ', čiara 822, funkcia ' PFMemoryHolder:: RegisterMemoryHolder ').
Ak používate SQL Profiler na sledovanie problému, sledovanie ukazuje, že počas príkazu ProcessFull v vDimWorkItemTreeOverlay rozmere sa zobrazí nasledujúce chybové hlásenie:
Vnútorná chyba: Vyskytla sa neočakávaná chyba (súbor ' pfiallocator. cpp ', čiara 822, funkcia ' PFMemoryHolder:: RegisterMemoryHolder '). Chyby v nástroji na ukladanie údajov OLAP: Vyskytla sa chyba pri spracovaní atribútu "WorkItemTreeSK" stromu pracovných položiek z databázy "Tfs_Analysis".
Poznámka: Zlyhanie spracovania ovplyvňuje návrhy databázy služby Analysis Services, ktoré majú zdroje údajov, ktoré používajú spravovaný poskytovateľ údajov rozhrania .NET Framework pre SQL Server, ktorý je System. Data. SqlClient.
Príčina
Tento problém sa vyskytuje, pretože spracovanie analytických služieb používa duplicitnú hodnotu kľúča dimenzie v zdroji údajov.
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 1 pre SQL Server 2014 /en-us/help/2931693
Kumulatívna aktualizácia 6 pre SQL Server 2012 SP1 /en-us/help/2874879
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Ďalšie informácie
Po použití tejto rýchlej opravy sa spracovanie bude správať v závislosti od nastavenia konfigurácie chýb spracovania namiesto toho, aby boli v súlade s vnútornými príznakmi chyby. Správanie môžete ovládať pomocou nastavenia duplicitných kľúčov pri spracovaní rozmerov bal. Správanie môžete ovládať aj nakonfigurovaním vlastnosti funkcie duplikovať vlastnosť ErrorConfiguration takto pri navrhovaní dimenzií:
-
Keď je nastavenie duplicity na tlačidle nastavené na predvolené nastavenie IgnoreError, neexistujú žiadne upozornenia, keď sa vyskytne Duplicitná hodnota kľúča a spracovanie pokračuje.
-
Keď je nastavenie duplicity na paneli nastavené na ReportAndContinue, vykazujú sa chyby alebo upozornenia. Spracovanie však pokračuje.
-
Keď je nastavenie duplicity na paneli nastavené na ReportAndStop, vykazujú sa chyby alebo upozornenia a spracovanie sa zastaví.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Alternatívne riešenie
Problém obísť vyriešite odstránením neplatného duplicitného kľúča v tabuľkách dimenzií údajového skladu v databázovom nástroji SQL Server. Ak chcete nájsť duplicitný kľúč, môžete použiť nasledujúci dotaz:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Odkazy
Ďalšie informácie o možnostiach a nastaveniach spracovania nájdete na nasledujúcej webovej lokalite MSDN:
Informácie o možnostiach a nastaveniach spracovaniaĎalšie informácie o tom, ako manuálne spracovať sklad alebo kocku, nájdete na nasledujúcej webovej lokalite MSDN:
Manuálne spracovať kocku údajových skladov a služieb Analysis Services pre Server Team Foundation