Symptomen
U kunt in een Microsoft SQL Server 2016-omgeving meerdere partities van een tabel parallel verwerken. Wanneer u de voortgang aanspoort, ziet u een gebeurtenis die opnieuw wordt gecodeerd voor minstens één van de kolommen. In deze situatie mislukt de verwerking mogelijk met een uitzonderingsfout. Soms wordt de verwerking mogelijk voltooid, maar daarna mislukken de volgende query's met een uitzondering met een uitzondering die er ongeveer als volgt uitziet:
Er is een onverwachte uitzondering opgetreden. Er is een onverwachte uitzondering opgetreden. (Microsoft SQL Server 2016 Analysis Services) Programmalocatie: op Microsoft. Analysis Services. AdomdClient. AdomdConnection. XmlaClientProvider. Microsoft. Analysis Services. AdomdClient. IExecuteProvider. ExecuteTabular (CommandBehavior Behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection Analysis Services, AdomdClient, AdomdCommand, ExecuteReader, Analysis Services, AdomdClient AdomdCommand, ExecuteReader parameters) op Microsoft. ReportingServices. QueryDesigners. ASDesigner. QueryBuilderClientControl (CommandBehavior. QueryExec. ThreadExecution..
Opmerking Dit probleem kan zich voordoen na de verwerking van de verwerking en het uitvoeren van query's met de verwerkte gegevens.
Oplossing
Cumulatieve updategegevens
De oplossing voor dit probleem is opgenomen in de volgende cumulatieve update voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Tijdelijke oplossing
Ga op een van de volgende manieren te werk om dit probleem tijdelijk op te lossen:
-
Bepaal welke kolommen opnieuw moeten worden gecodeerd en gebruik een valse partitie aan het begin om waarden te genereren die hash-versleuteling in de detectie fase afdwingen. De valse partitie moet de partitie zijn die wordt gebruikt voor het selecteren van de codering voordat parallelisme begint. Nadat alle partities zijn verwerkt, kunt u de valse partitie wissen of verwijderen.
-
Gebruik seriële verwerking in plaats van parallelle verwerking.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Parallelle verwerking van Tabellaire partities heeft de volgende logica:
-
Gebruik de gegevens in de ene partitie om de codering (waarde of hash) van de kolommen te bepalen.
-
Nadat de codering is geselecteerd, kunnen de andere partities parallel worden uitgevoerd.
-
Als waarde-codering is geselecteerd en wanneer de rijen worden opgehaald, wordt er mogelijk een waarde aangetroffen die niet in de waarde voor het coderingsschema past. In dit geval moet de hele kolom opnieuw worden versleuteld in het hash-versleutelingsschema.
-
Als u de bewerking opnieuw versleutelt (het omzetten van waarden in hash-codering in een hash-code), treedt er een probleem op wanneer andere partities tegelijkertijd worden verwerkt.
Verwijzingen
Lees meer over de terminologie die door Microsoft wordt gebruikt om software-updates te beschrijven.