Společnost Microsoft distribuuje Microsoft SQL Server 2012 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2012 Oprava.
Příznaky
Zvažte následující scénář:
-
Na serveru Microsoft SQL Server 2012 můžete vytvořit jeden nebo více projektů kvality dat v klientovi kvality dat.
-
Nainstalovali jste kumulativní aktualizaci 1 pro SQL Server 2012 (SQL Server 2012 CU1) a pak spustíte soubor DQSInstaller. exe, který vám umožní upgradovat katalogy ve službě Data Quality Services (ve formátu. dat) a přidat nové objekty.
-
Pokusíte se odstranit jeden z projektů kvality dat pomocí klienta kvality dat.
V tomto scénáři klient kvality dat přestane reagovat a databázový stroj SQL serveru zadá nekonečnou smyčku. Proces Sqlservr. exe navíc využívá vysoké využití procesoru. Poznámky:
-
Pokud chcete tento problém vyřešit, restartujte klienta kvality dat a počítač se stavem.
-
Tento problém nastane, jenom když byl projekt kvality dat vytvořený před instalací SQL serveru 2012 CU1.
Příčina
K tomuto problému dochází kvůli nekonečné smyčce v systémové uložené proceduře, která je způsobena nesprávnou aktualizací čítače smyčky.PoznámkaK tomuto problému dochází kvůli regresi v SQL serveru 2012 CU1.
Řešení
Informace o kumulativní aktualizaci
Informace o aktualizaci Service Pack pro SQL Server 2012
Tento problém vyřešíte pomocí nejnovější aktualizace Service Pack pro SQL Server 2012. Další informace najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2755533 Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2012
SQL Server 2012
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 2 pro SQL Server 2012. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2703275 Kumulativní aktualizace 2 pro SQL Server 2012Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze systému SQL Server. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2692828 Buildy SQL Server 2012, které byly vydány po vydání SQL Server 2012
Alternativní řešení
Tento problém vyřešíte pomocí jedné z následujících metod.Metoda 1Chcete-li přidat fiktivní postup, který umožňuje, aby uložená procedura pokračovala v neomezeném opakování, a pak jste se úspěšně ukončili, postupujte takto:
-
Spuštěním následujícího dotazu Identifikujte název schématu u ovlivněného projektu, který jste se pokusili odstranit:
SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
-
Použijte vrácenou hodnotu Schema (název schématu ) a spuštěním příkazů, které jsou v aplikaci SQL Server Management Studio podobné následujícímu, zadejte odpovídající název schématu a ID projektu kvality dat. Pro schéma a odpovídající projekt kvality dat bude vytvořen nový fiktivní postup. Proto nekonečné opakování pokračuje správně.
USE DQS_PROJECTSGOCREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexiconAS BEGINPRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';END
Poznámka <ID> představuje vnitřní ID projektu, který se má odstranit.
-
Ověřte, jestli je projekt kvality dat z klienta kvality dat odstraněný podle očekávání.
Metoda 2Pokud chcete rychle ukončit postup opakování, abyste šetřili prostředky procesoru, identifikujte správnou relaci spuštěním následujících příkazů. Usmrcení procedury opakování však neodstraní projekt kvalita dat. Následující příkazy jazyka Transact-SQL pomáhají identifikovat a odstranit správnou relaci. Pokud je spuštěná více než jedna relace z klienta kvality dat, budete možná muset příkazy spustit víckrát:
DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)SELECT TOP 1 @session=s.session_id, @text=st.textFROM sys.dm_exec_sessions sFULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_idCROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS stWHERE program_name like 'DQ Services Client: Client Id = %, KB Id = %, Proxy = KnowledgebaseManagementEntryPointClient'AND s.status='running';SELECT 'Killing this DQS session:', @session SessionID, @text QueryText;SET @killcommand=N'Kill '+ cast(@session as nvarchar)+';'EXEC sp_executesql @killcommand;
Poznámka Pokud k ukončení připojení se používá Metoda 2, může se v klientovi kvality dat zobrazit následující chybová zpráva:
Služby kvality SQL serveru--------------------------------------------------------------------------------<MessageId>: došlo k ApplicationUnhandledExceptionAn neošetřené výjimce. Další podrobnosti najdete v protokolu klienta služby kvalita dat.--------------------------------------------------------------------------------System. data. SqlClient. SqlException (0x80131904): v aktuálním příkazu došlo k závažné chybě. Případné výsledky se zahodí.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Další informace o tom, jak upgradovat, najdete na následujícím webu Microsoft TechNet: