Firma Microsoft rozpowszechnia poprawki w programie Microsoft SQL Server 2012 w postaci jednego pliku do pobrania. Ponieważ poprawki są kumulatywne, każdy nowy pakiet zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012.

Symptomy

Rozpatrzmy następujący scenariusz:

  • W programie Microsoft SQL Server 2012 można utworzyć co najmniej jeden projekt jakości danych w kliencie jakości danych.

  • Instalowana jest zbiorcza aktualizacja 1 dla programu SQL Server 2012 (SQL Server 2012 CU1), a następnie jest używany plik DQSInstaller. exe w celu uaktualnienia katalogów usług Data Quality Services (DQS) i dodania nowych obiektów.

  • Użytkownik próbuje usunąć jedną z utworzonych projektów jakości danych za pomocą klienta jakości danych.

W tym scenariuszu klient jakości danych przestanie odpowiadać, a aparat bazy danych programu SQL Server wprowadza nieskończoną pętlę. Ponadto w przypadku procesów SqlServer. exe są duże obciążenia procesora. Uwagi

  • Aby rozwiązać ten problem, uruchom ponownie klienta jakości danych i usług DQS.

  • Ten problem występuje tylko wtedy, gdy projekt jakości danych został utworzony przed zainstalowaniem programu SQL Server 2012 CU1.

Przyczyna

Ten problem występuje z powodu nieskończonej pętli w systemowej procedurze składowanej, która jest spowodowana niepoprawnym aktualizowaniem licznika pętli.UwagaTen problem występuje z powodu regresji w programie SQL Server 2012 CU1.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Informacje o dodatku Service Pack dla programu SQL Server 2012

Aby rozwiązać ten problem, Uzyskaj najnowszy dodatek Service Pack dla programu SQL Server 2012. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2755533 Jak uzyskać najnowszy dodatek Service Pack dla programu SQL Server 2012

Program SQL Server 2012

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 2 dla programu SQL Server 2012. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2703275 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2012Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki programu SQL Server. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2692828 Kompilacje programu SQL Server 2012 wydane po wydaniu programu SQL Server 2012

Obejście

Aby obejść ten problem, Skorzystaj z jednej z poniższych metod.Metoda 1Aby dodać procedurę fikcyjną, która umożliwia kontynuowanie pętli nieskończonej procedury składowanej, a następnie zamknięcie jej poprawnie, wykonaj następujące czynności:

  1. Uruchom następujące zapytanie, aby zidentyfikować nazwę schematu, którego dotyczy problem, który próbujesz usunąć:

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. Użyj zwróconej wartości SchemaName , a następnie uruchom instrukcje podobne do poniższych w programie SQL Server Management Studio, aby podać odpowiednią nazwę schematu i identyfikator projektu jakości danych. Zostanie utworzona nowa procedura fikcyjna dla schematu i odpowiedniego projektu jakości danych. Dlatego pętla nieskończona jest kontynuowana poprawnie.

    USE DQS_PROJECTSGOCREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexiconAS BEGINPRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';END

    Uwaga <Identyfikator> reprezentuje wewnętrzny identyfikator projektu jakości danych, który jest usuwany.

  3. Sprawdź, czy projekt jakości danych został usunięty z klienta jakości danych zgodnie z oczekiwaniami.

Metoda 2Jeśli trzeba szybko skasować procedurę zapętlenia w celu zaoszczędzenia zasobów procesora, należy uruchomić następujące instrukcje w celu zidentyfikowania odpowiedniej sesji. Jednak zabicie procedury pętli nie powoduje prawidłowego usunięcia projektu jakości danych. Poniższe instrukcje języka Transact-SQL ułatwiają identyfikowanie i Zaprawianie odpowiedniej sesji. Jeśli jest uruchomiona więcej niż jedna sesja klienta jakości danych, może być konieczne wielokrotne uruchamianie instrukcji:

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;

Uwaga Jeśli używasz metody 2 do kasowania połączenia z usługami DQS, może zostać wyświetlony następujący komunikat o błędzie w kliencie jakości danych:

SQL Server Data Quality Services--------------------------------------------------------------------------------<MessageId>: Wystąpił wyjątek ApplicationUnhandledExceptionAn nieobsługiwany. Aby uzyskać więcej szczegółowych informacji, zobacz Dziennik klienta usług Data Quality Services.--------------------------------------------------------------------------------System. Data. SqlClient. SqlException (0x80131904): w bieżącym poleceniu wystąpił poważny błąd. Ewentualne wyniki należy odrzucić.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Informacje

Aby uzyskać więcej informacji na temat uaktualniania usług DQS, przejdź do następującej witryny internetowej Microsoft TechNet:

Jak uaktualnić usługi DQS

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.