Microsoft разпространява корекциите за Microsoft SQL Server 2008 R2 като един файл, който може да се изтегли. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички горещи поправки и всички корекции на защитата, които са били включени в предишната SQL Server 2008 R2 корекция издание.
Симптоми
Обмислете следния сценарий:
-
Имате модел на Master Data Services (MDS) и обект, който има атрибут, базиран на домейн, в Microsoft SQL Server 2008 R2. Атрибутът, базиран на домейн, е проектиран така, че да препраща самостоятелно към един и същ атрибут.Например имате обект Служител, който има атрибут ManagerName. Атрибутът ManagerName препраща към същия обект служител.Забележка Ръководител също е вид служител.
-
Има производна йерархия, която е дефинирана в атрибут за показване на рекурсивна релация родител/наследник за атрибута, базиран на домейн.
-
Зареждате стойности на данни, които съдържат една или повече кръгови препратки към MDS постановка таблица. Това поведение причинява кръгова препратка, а първият възел в атрибута не е част от кръга.Например следният модел на данни показва кръгова препратка. Стойността за член1 обаче не е част от кръга:
Член1 Атрибут --ръководител-> Член2 --manager attribute-> Member3 --manager attribute--> Member2 --manager attribute-> Member3
insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
-
Можете да използвате един от следните методи, за да заредите стойности на данни в обекта с помощта на процеса на спиране на MDS:
-
Изпълнете Exec [mdm]. [udpStagingSweep] процедура с помощта на необходимите параметри за обработка на поетапните данни.
-
Щракнете върху Управление на интеграцията , за да посетите началната страница на уеб сайта на MDS. На страницата Import Export (Импортиране на експортиране ), под заглавката на секцията Unbatched Staging Records щракнете върху иконата на зъбно колело , за да обработите записите за конкретен модел и версия.
-
В този случай фонов процес по време на процеса на постановка може да срещнете безкраен цикъл, когато фонов процес вътрешно извиква [mdm]. [udpMemberRecursiveCircularCheck] процедура.
Причина
Този проблем възниква, защото процедурите udpStagingSweep и udpStagingMemberAttributeSave извикват процедурата udpMemberRecursiveCircularCheck един път за всеки ред за постановка. Това поведение трябва да провери стойност на атрибут, базиран на домейн, и връща грешка, ако редът за постановка причинява кръгова препратка заедно със съществуващите данни. След като всички редове за постановка са отметнати, получавате следните резултати:
-
Прилагат се редовете за постановка без грешки.
-
Редовете за планиране с грешки са отбелязани с код на грешка.
Ако условията, описани в раздела "Симптоми", са изпълнени, [mdm]. [udpMemberRecursiveCircularCheck] процедура цикли за неопределено време, докато сървърните ресурси са изчерпани или възникне изтичане на времето на изчакване.
Решение
Информация за кумулативна актуализация
SQL Server 2008 R2 Service Pack 1
Корекцията за този проблем първо е издадена в кумулативна актуализация 4. За повече информация как да получите този сборен пакет за SQL Server 2008 R2 SP1 щракнете върху следния номер на статия в базата знания на Microsoft:
2633146 Кумулативен пакет за актуализация 4 за SQL Server 2008 R2 Service Pack 1Note Тъй като компилациите са кумулативни, всяка нова корекция издание съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната SQL Server 2008 R2 SP1 корекция издание. Препоръчваме да помислите за прилагането на най-новата корекция версия, която съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2567616 Компилациите SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 Service Pack 1
Статут
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Заобиколно решение
За да решите проблема по заобиколен начин, използвайте един от следните методи:
-
За да предотвратите проблема, изпълнете следните стъпки:
-
Прегледайте ръчно стойностите на данните за членовете, които се вмъкват в таблицата за планиране, преди да изпълните процеса на планиране.
-
Уверете се, че всички стойности на членове за всички атрибути, базирани на домейни, не съдържат кръгови препратки, които са описани в раздела "Симптоми"
-
-
Когато проблемът, описан в раздела "Симптоми", изпълнете следните стъпки, за да коригирате проблема:
-
Идентифицирайте сесията, която се изпълнява в безкраен цикъл.
-
Убийте сесията, за да спрете с течението.
-
Изтрийте стойностите на кръговата препратка от таблицата за постановка, преди кръговата препратка да бъде обработена отново.
-
Забележки
-
За да определите коя сесия да убиете, използвайте един от следните методи:
-
Използвайте монитор на дейностите в Microsoft SQL Server Management Studio.
-
Изберете от sys.sysprocesses или sys.dm_exec_requests динамичен изглед за управление (DMV), за да идентифицирате сесиите, които работят в базата данни MDS, в която ЦП и времето нарастват бързо. Уверете се, че текущата заявка, която се изпълнява в сесията, отговаря на имената на процедурите, които са описани в секцията "Причина".
-
-
За да идентифицирате текущо изпълняващата се процедура за сесиите, използвайте един от следните методи:
-
Щракнете с десния бутон върху менюто По-подробно за всеки процес в списъка на процесите на наблюдение на дейностите.
-
Използвайте един от следните параметри:
-
Командата DBCC INPUTBUFFER (spid) заедно с ИД на сесията.
-
Функцията SELECT * FROM sys.dm_exec_sql_text(sqlhandle) заедно с параметъра съответстващ SQL манипулатор, когато използвате DMV изхода.
-
-
Препратки
За повече информация как да отворите монитор на дейностите в SQL Server Management Studio посетете следния уеб сайт на MSDN:
Как да отворите монитор на дейността в SQL Server Management StudioЗа повече информация относно синтаксиса на KILL посетете следния уеб сайт на MSDN:
Обща информация относно синтаксиса НА KILLЗа повече информация относно sys.dm_exec_requests DMV посетете следния уеб сайт на MSDN:
Обща информация за sys.dm_exec_requests DMVЗа повече информация относно sys.dm_exec_sql_text DMV посетете следния уеб сайт на MSDN:
Обща информация за sys.dm_exec_sql_text DMVЗа повече информация относно командата DBCC INPUTBUFFER посетете следния уеб сайт на MSDN:
Обща информация за командата DBCC INPUTBUFFERЗа повече информация относно модела на постъпково обслужване за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:
935897 Модел на постъпково обслужване е наличен от екипа на SQL Server да предостави горещи поправки за съобщени проблемиЗа повече информация относно схемата за именуване за SQL Server актуализации щракнете върху следния номер на статия в базата знания на Microsoft:
822499 Нова схема за именуване на пакети за актуализация на софтуер на Microsoft SQL Server За повече информация относно терминологията на софтуерната актуализация щракнете върху следния номер на статия в базата знания на Microsoft:
824684 Описание на стандартната терминология, която се използва за описване на актуализациите на софтуера на Microsoft