การแก้ไข: SQL Server ข้อมูลคุณภาพของไคลเอ็นต์หยุดการตอบสนองเมื่อคุณพยายามที่ลบข้อมูลคุณภาพโครงการหลังจากที่คุณติดตั้ง 1 การปรับปรุงที่สะสมสำหรับ SQL Server 2012

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2705571 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
Microsoft กระจาย 2012 เซิร์ฟเวอร์ SQL ของ Microsoft แก้ไขเป็นแฟ้มหนึ่งแฟ้มที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขความปลอดภัยทั้งหมดที่ถูกรวมเข้ากับเซิร์ฟเวอร์ 2012 ก่อนหน้านี้ของ SQL แก้ไขนำออกใช้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้:
  • คุณสามารถสร้างโครงการคุณภาพข้อมูลอย่าง น้อยหนึ่งในไคลเอนต์คุณภาพของข้อมูลใน 2012 เซิร์ฟเวอร์ SQL ของ Microsoft
  • คุณได้ติดตั้ง 1 การปรับปรุงสะสมสำหรับ 2012 ของเซิร์ฟเวอร์ SQL (SQL Server 2012 CU1), และจากนั้น คุณเรียกใช้แฟ้ม DQSInstaller.exe เมื่อ ต้องการปรับรุ่นแค็ตตาล็อกข้อมูลคุณภาพบริการ (DQS) และ ต้องเพิ่มวัตถุใหม่
  • คุณได้พยายามที่ลบค่าใดค่าหนึ่งในโครงการคุณภาพของข้อมูลที่สร้างขึ้น โดยใช้ไคลเอนต์คุณภาพของข้อมูล
ในสถานการณ์สมมตินี้ ไคลเอนต์คุณภาพข้อมูลหยุดการตอบสนอง และ SQL Server database engine ป้อนการวนรอบของข้อจำกัด นอกจากนี้ กระบวนการ sqlservr.exe ประสบการใช้งาน CPU สูง

บันทึกย่อ
  • การกู้คืนจากปัญหานี้ รีสตาร์ทไคลเอนต์คุณภาพของข้อมูลและ DQS
  • ปัญหานี้เกิดขึ้นถ้าโครงการคุณภาพของข้อมูลถูกสร้างขึ้นก่อนที่คุณติดตั้ง CU1 2012 ของ SQL Server เท่านั้น

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจาก มีการวนรอบของข้อจำกัดในกระบวนงานที่เก็บไว้ของระบบที่เกิดจากการปรับปรุงตัวนับการวนรอบอย่างไม่ถูกต้อง

หมายเหตุปัญหานี้เกิดขึ้นเนื่องจากการถดถอยใน CU1 2012 ของเซิร์ฟเวอร์ SQL

การแก้ไข

ปรับปรุงข้อมูล

ข้อมูลเซอร์วิสแพ็คสำหรับ SQL Server 2012

เมื่อต้องแก้ไขปัญหานี้ ขอรับ service pack ล่าสุดสำหรับ SQL Server 2012 สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2755533 วิธีการขอรับ service pack ล่าสุดสำหรับ SQL Server 2012

SQL Server 2012

การแก้ไขสำหรับปัญหานี้ถูกออกก่อนใน 2 ปรับปรุงที่สะสมสำหรับ SQL Server 2012 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงนี้สำหรับ SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2703275 แพคเกจโปรแกรมปรับปรุงที่สะสม 2 สำหรับ SQL Server 2012
หมายเหตุ เนื่องจาก builds สะสม นำออกใช้การแก้ไขแต่ละใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขความปลอดภัยทั้งหมดที่ถูกรวมอยู่กับก่อนหน้านี้ SQL Server แก้ไขนำออกใช้ เราขอแนะนำว่า คุณควรพิจารณาถึงการนำไปใช้แก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2692828 สร้าง 2012 เซิร์ฟเวอร์ SQL ที่ถูกนำออกใช้หลังจากที่ SQL Server 2012 ถูกนำออกใช้

การหลีกเลี่ยงปัญหา

เมื่อต้องหลีกเลี่ยงปัญหานี้ ใช้วิธีการใดวิธีการหนึ่งในวิธีต่อไปนี้

วิธีที่ 1

เมื่อต้องเพิ่มกระบวนงานตัวอย่างที่ช่วยให้กระบวนงานที่เก็บลูปจำกัดเพื่อดำเนินการต่อไป และจากนั้น ออกจากอย่างถูกต้อง ให้ทำตามขั้นตอนเหล่านี้:
  1. รันการสอบถามต่อไปนี้เพื่อระบุชื่อของเค้าร่างสำหรับโครงการได้รับผลกระทบที่คุณพยายามที่ลบ:

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. ใช้ค่าSchemaNameที่มีการส่งคืน และจากนั้น เรียกใช้คำสั่งที่คล้ายกับต่อไปนี้ใน Studio จัดการของ SQL Server เพื่อใส่ชื่อของ schema ที่ตรงกันและ id โครงการคุณภาพของข้อมูล จะมีสร้างกระบวนงานดัมมีแบบใหม่สำหรับการเปลี่ยนแปลงและคุณภาพของโครงการที่สอดคล้องกันของข้อมูล ดังนั้น ลูปจำกัดดำเนินอย่างถูกต้อง

    USE DQS_PROJECTS
    GO
    CREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexicon

    AS
    BEGIN
    PRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';
    END
    หมายเหตุID> แทนหมายเลขภายในของโครงการคุณภาพของข้อมูลที่ถูกลบ
  3. ตรวจสอบว่า โครงการคุณภาพของข้อมูลที่ถูกลบออกจากไคลเอนต์คุณภาพของข้อมูลตามที่คาดไว้หรือไม่
วิธีที่ 2

ถ้าคุณจำเป็นต้องหยุดขั้นตอนการวนรอบอย่างรวดเร็วเพื่อสงวนทรัพยากรของ CPU เรียกใช้คำสั่งที่ต่อไปนี้เพื่อระบุเซสชันถูกต้อง อย่างไรก็ตาม killing กระบวนการวนรอบลบโครงการคุณภาพข้อมูลนั้น ๆ คำสั่ง Transact SQL ต่อไปนี้ที่ช่วยระบุ และหยุดเซสชันถูกต้อง หากเซสชันมากกว่าหนึ่งจากไคลเอนต์คุณภาพของข้อมูลที่กำลังทำงานอยู่ คุณอาจต้องการเรียกใช้คำสั่งที่หลายครั้ง:

DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)

SELECT TOP 1 @session=s.session_id, @text=st.text

FROM sys.dm_exec_sessions s

FULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_id

CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS st

WHERE 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;

หมายเหตุ ถ้าคุณใช้วิธีที่ 2 เมื่อต้องหยุดการเชื่อมต่อ DQS คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ในไคลเอนต์คุณภาพของข้อมูล:

บริการคุณภาพของข้อมูล SQL Server

--------------------------------------------------------------------------------

<MessageId></MessageId>: ApplicationUnhandledException

เกิดข้อยกเว้นเกิดขึ้น สำหรับรายละเอียดเพิ่มเติม ให้ดูในบันทึกของไคลเอ็นต์บริการคุณภาพของข้อมูล

--------------------------------------------------------------------------------

System.Data.SqlClient.SqlException (0x80131904): มีข้อผิดพลาดร้ายแรงที่เกิดขึ้นบนคำสั่งปัจจุบัน ผลลัพธ์ ถ้ามี ควรถูกละทิ้ง

สถานะ

Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่ระบุไว้ในส่วน"ใช้งาน"

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการปรับรุ่น DQS ไปเว็บไซต์ Microsoft TechNet ดังต่อไปนี้:
วิธีการปรับรุ่น DQS

คุณสมบัติ

หมายเลขบทความ (Article ID): 2705571 - รีวิวครั้งสุดท้าย: 20 กันยายน 2555 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Web
Keywords: 
kbqfe kbmt KB2705571 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2705571

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com