KB3196100 - FIX: Uitzondering treedt op tijdens parallelle verwerking van partities als een kolom opnieuw wordt gecodeerd in SQL Server 2016

Van toepassing op
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptomen

In een Microsoft SQL Server 2016-omgeving verwerkt u meerdere partities van een tabel parallel. Wanneer u de voortgang traceert, ziet u een hercoderingsgebeurtenis voor ten minste één van de kolommen.

In deze situatie kan de verwerking mislukken met een uitzonderingsfout. Soms wordt de verwerking met succes voltooid, maar mislukken volgende query's met een uitzonderingsfout die lijkt op de volgende:

Opmerking

Er is een onverwachte uitzondering opgetreden.
Er is een onverwachte uitzondering opgetreden. (Microsoft SQL Server 2016 Analysis Services)
Programma locatie:
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular(CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters)
   bij Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader(CommandBehavior behavior)
   bij Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader()
   bij Microsoft.ReportingServices.QueryDesigners.ASDesigner.QueryBuilderClientControl.QueryExec.ThreadExecution()

Opmerking: Dit probleem treedt soms op nadat de verwerking is voltooid en query's worden uitgevoerd op de verwerkte gegevens.

Oplossing

Informatie over cumulatieve updates

De oplossing voor dit probleem is opgenomen in de volgende cumulatieve update voor SQL Server:

Informatie over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Meest recente cumulatieve update voor SQL Server 2016
      

      

Tijdelijke oplossing

Ga op een van de volgende manieren te werk om dit probleem te omzeilen:

  • Bepaal welke kolommen opnieuw moeten worden gecodeerd en gebruik een neppartitie aan het begin om waarden te genereren die hash-codering afdwingen in de detectiefase. De neppartitie moet de partitie zijn die wordt gebruikt om de codering te selecteren voordat het parallellisme begint. Nadat alle partities zijn verwerkt, kunt u de neppartitie wissen of verwijderen.
  • Gebruik seriële verwerking in plaats van parallelle verwerking.

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.

Meer informatie

Parallelle verwerking van partities in tabelvorm 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 verwerkt.
  • Als waardecodering is geselecteerd en terwijl de rijen worden opgehaald, kan er een waarde worden aangetroffen die niet past in het waardecoderingsschema. In dit geval moet de hele kolom opnieuw worden gecodeerd in het hash-coderingsschema.
  • Deze hercoderingsbewerking (het converteren van waardecodering naar hashcodering) stuit op een probleem wanneer andere partities tegelijkertijd worden verwerkt.

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.