Simptomi
U Microsoft SQL Server 2016 okruženju paralelno obrađujete više particija tabele. Kada pratite tok, primećujete događaj ponovnog kodiranja za najmanje jednu od kolona. U ovoj situaciji, operacija obrade možda neće uspeti sa greškom u izuzetku. Ponekad obrada može biti uspešno dovršena, ali naredni upiti ne uspeju sa greškom izuzetka koja je slična sledećoj:
Došlo je do neočekivanog izuzetka. Došlo je do neočekivanog izuzetka. (Microsoft SQL Server 2016 Analysis Services) Lokacija programa: at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular(CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters) at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader() at Microsoft.ReportingServices.QueryDesigners.ASDesigner.QueryBuilderClientControl.QueryExec.ThreadExecution()
Napomena Ponekad dođe do ovog problema nakon dovršavanja obrade i izvršavaju se upiti u odnosu na obrađene podatke.
Rešenje
Kumulativne informacije o ažuriranju
Ispravka za ovaj problem je uključena u sledeću kumulativnu ispravku za SQL Server:
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Rešenje
Da biste ovo uradili, uradite nešto od sledećeg:
-
Odredite koje kolone zahtevaju ponovno kodiranje i koristite lažnu particiju na početku da biste generisali vrednosti koje će primorati kodiranje hasha u fazi otkrivanja. Lažna particija mora biti ona koja se koristi za izbor kodiranja pre početka paralelizma. Nakon obrade svih particija, možete obrisati ili izbrisati lažnu particiju.
-
Koristite serijsku obradu umesto paralelne obrade.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Više informacija
Paralelna obrada tabelarnih particija ima sledeću logiku:
-
Koristite podatke na jednoj particiji da biste odredili kodiranje (vrednost ili hash) kolona.
-
Nakon što je kodiranje izabrano, ostale particije mogu da počnu da se obrađuju paralelno.
-
Ako je izabrano kodiranje vrednosti i dok se redovi dopremaju, može doći do vrednosti koja se ne uklapa u šemu kodiranja vrednosti. U ovom slučaju, cela kolona mora biti ponovo kodirana u šemu kodiranja hasha.
-
Ova operacija ponovnog kodiranja (konvertovanje kodiranja vrednosti u kodiranje hasha) nailazi na problem kada se istovremeno obrađuju druge particije.
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.