Симптоми
В среда на Microsoft SQL Server 2016 можете да обработвате няколко дяла на таблица успоредно. Когато проследявате напредъка, забелязвате събитие за повторно кодиране за поне една от колоните. В тази ситуация операцията по обработката може да е неуспешна при грешка с изключение. Понякога обработката може да завърши успешно, но след това следващите заявки са неуспешни с изключение на грешка, подобна на следната:
Възникна неочаквано изключение. Възникна неочаквано изключение. (Услуги за анализ на Microsoft SQL Server 2016) Местоположение на програмата: в Microsoft. AnalysisServices. AdomdClient. AdomdConnection. XmlaClientProvider. Microsoft. AnalysisServices. AdomdClient. IExecuteProvider. ExecuteTabular (CommandBehavior ICommandContentProvider ContentProvider. AdomdPropertyCollection. CommandProperties. IDataParameterCollection. AnalysisServices. AdomdClient. AdomdCommand) в Microsoft. ExecuteReader. CommandBehavior. AnalysisServices-AdomdClient ()) при Microsoft. AdomdCommand. ExecuteReader..
Забележка Понякога този проблем възниква, след като обработката приключи и заявките се изпълняват срещу обработените данни.
Решение
Информация за сборна актуализация
Корекцията за този проблем е включена в следната сборна актуализация за SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
За да заобиколите този проблем, направете едно от следните неща:
-
Определете кои колони изискват повторно кодиране и използвайте фалшив дял в началото, за да генерирате стойности, които ще принуди кодирането на хеширане във фазата на откриване. Фалшив дял трябва да е този, който се използва, за да се избере кодирането, преди да започне успоредност. След като всички прегради са обработени, можете да изчистите или изтриете фалшив дял.
-
Използвайте серийна обработка вместо успоредна обработка.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Повече информация
Успоредната обработка на таблични прегради има следната логика:
-
Използвайте данните в този дял, за да определите кодировката (стойност или хеширане) на колоните.
-
След като кодирането е избрано, останалите прегради могат да започнат да обработват успоредно.
-
Ако е избрано кодиране на стойности и след като редовете бъдат извлечени, може да се срещне стойност, която не се побира в схемата на кодиране на стойности. В този случай цялата колона трябва да бъде отново кодирана в схемата за кодиране на хеширане.
-
Тази операция за повторно кодиране (конвертиране на кодиране на стойности в хеширане на шифроване) се натъква на проблем, когато се обработват други прегради по едно и също време.
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.