การแก้ไข: ข้อผิดพลาด "การจัดกำหนดการส่งไม่ใช่" อาจเกิดขึ้นเมื่อคุณใช้ฟังก์ชัน CONTAINSTABLE ร่วมกับ OR จำนวนมาก และ predicates AND ใน SQL Server 2008 หรือ ใน SQL Server 2008 R2

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2344600 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
Microsoft กระจาย Microsoft SQL Server 2008 แก้ไขเป็นแฟ้มเดียวที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขสะสม แต่ละรุ่นที่ใหม่ที่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการแก้ไขการรักษาความปลอดภัยทั้งหมดที่มาพร้อมกับ SQL Server 2008 ก่อนหน้าออกMicrosoft กระจาย Microsoft SQL Server 2008 หรือ SQL Server 2008 R2 แก้ไขเป็นแฟ้มเดียวที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขสะสม แต่ละรุ่นที่ใหม่ที่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่มาพร้อมกับ SQL Server 2008 ก่อนหน้าหรือ SQL Server 2008 R2 รุ่นที่แก้ไข
ขยายทั้งหมด | ยุบทั้งหมด

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

อาการ

พิจารณาสถานการณ์ต่อไปนี้::
  • คุณมีแบบสอบถามการค้นหาแบบเต็มที่ใช้ในการcontainstableฟังก์ชันพร้อมกับตัวมากหรือและและpredicates ในเงื่อนไข ใน Microsoft SQL Server 2008 หรือ ใน SQL Server 2008 R2 ตัวอย่างเช่น คุณมี 50 ที่ต่อไปนี้และดำเนินการ:
    Declare @Keywords varchar(4000) = NULL
    
    set @Keywords= N'((((((((((((((((((((((((((((((((((((((((((((((((((((
    ("TOKarchitect" OR "architectural") 
    AND ("TOKengineer" OR "engineer")) 
    AND "gineer") AND ("TOKmechanical" OR "Mechanical")) 
    AND ("TOKengineer" OR "Engineering")) 
    AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineering")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineering")) AND ("TOKcontrol" OR "Control")) AND ("TOKsystem" OR "Systems")) AND ("TOKengineer" OR "Engineer")) AND ("TOKproject" OR "Project")) AND ("TOKmanager" OR "Manager")) AND ("TOKengineer" OR "Engineering")) AND "Scheme") AND ("TOKmanufacture" OR "Manufacturing")) AND ("TOKengineer" OR "Engineer")) AND ("TOKmetallurgist" OR "Metallurgy")) AND ("TOKmetallurgist" OR "Metallurgist")) AND ("TOKprocess" OR "Process")) AND ("TOKTechnology" OR "Technology")) AND ("TOKproduct" OR "Production")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKcontrol" OR "Control")) AND ("TOKengineer" OR "Engineer")) AND "Mechatronics") AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineer")) AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "engineering")) AND ("TOKengineer" OR "Engineering")) AND ("TOKgraduate" OR "Graduate")) AND ") ANDNOT (") AND ("TOKRecruitment" OR "Recruitment")) AND ("TOKconsultant" OR "consultant")) AND ("TOKtrainee" OR "trainee")) AND ("TOKRecruitment" OR "recruitment"))'
    
    select * from CONTAINSTABLE(test_table, *, @keywords, 1000) 
  • รันการสอบถาม
ในสถานการณ์สมมตินี้ ข้อผิดพลาด "การจัดกำหนดการส่งไม่ใช่" อาจเกิดขึ้น นอกจากนี้ แฟ้ม mini-dump ถูกสร้างขึ้นในโฟลเดอร์ล็อก SQL Server 2008 หรือ SQL Server 2008 R2 แอพพลิเคชัน และข้อผิดพลาดต่อไปนี้ถูกบันทึกในแฟ้มบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ SQL:
<time stamp=""></time>เซิร์ฟเวอร์โดยใช้รุ่นของ 'dbghelp.dll' '4.0.5'
<time stamp=""></time>เซิร์ฟเวอร์ *** ไม่สามารถรับเธรดบริบท spid 0
<time stamp=""></time>เซิร์ฟเวอร์ *
*******************************************************************************
<time stamp=""></time>เซิร์ฟเวอร์ *
<time stamp=""></time>เซิร์ฟเวอร์ * BEGIN ถ่ายโอนข้อมูลแถว:
<time stamp=""></time>เซิร์ฟเวอร์ *<time></time>spid<spid></spid>
<time stamp=""></time>เซิร์ฟเวอร์ *
<time stamp=""></time>เซิร์ฟเวอร์ * ตัวกำหนดเวลาการส่งไม่ใช่
<time stamp=""></time>เซิร์ฟเวอร์ *
<time stamp=""></time>เซิร์ฟเวอร์ *
*******************************************************************************
<time stamp=""></time>เซิร์ฟเวอร์กองลายเซ็นสำหรับการถ่ายโอนข้อมูลเป็น 0x000000000000030D
<time stamp=""></time>เซิร์ฟเวอร์กระบวนการถ่ายโอนข้อมูลภายนอกกลับรหัส 0x20000001 กระบวนการถ่ายโอนข้อมูลภายนอกส่งกลับข้อผิดพลาดใด ๆ
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 62 ms, % ms. ประมวลผลการใช้ 98 75187 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 76403
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 125 ms, % ms. ประมวลผลการใช้ 98 145250 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 148417
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 171 ms, % ms. ประมวลผลการใช้ 98 205515 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 209729
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 218 ms, % ms. ประมวลผลการใช้ 98 266343 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 271588
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 234 ms, % ms. ประมวลผลการใช้ 97 325156 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 333671
<time stamp=""></time>การดำเนินการเซิร์ฟเวอร์ 0:0:0 (0xf94) ของผู้ปฏิบัติงาน 0x00000000817481A0 ปรากฏเป็นไม่ใช่ส่งบนตัวกำหนดเวลา 0 เธรดเวลาที่สร้าง: 12925321224306 เธรด Approx CPU ที่ใช้: เคอร์เนล 296 ms, % ms. ประมวลผลการใช้ 97 386000 ผู้ใช้ ระบบไม่ได้ใช้ 0% ช่วง: ms 396370

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจาก SQL Server 2008 หรือ SQL Server 2008 R2 ไม่ปล่อยตัวจัดกำหนดการแบบอย่างถูกต้อง

การแก้ไข

ข้อมูลการปรับปรุงที่สะสม

sql Server 2008 R2

โปรแกรมแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ก่อนใน 5 การปรับปรุงที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับนี้แพคเกจโปรแกรมปรับปรุงที่สะสมสำหรับ SQL Server 2008 R2 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2438347สะสม Update แพ็คเกจ 5 สำหรับ SQL Server 2008 R2
หมายเหตุ:เนื่องจาก builds สะสม แต่ละรุ่นใหม่ของโปรแกรมแก้ไขด่วนประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่มาพร้อมกับการก่อนหน้า SQL Server 2008 R2 รุ่นที่แก้ไข เราขอแนะนำว่า คุณควรพิจารณาถึงการใช้โปรแกรมแก้ไขด่วนรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
981356สร้าง SQL Server 2008 R2 ที่หลังจากที่มีการนำออกใช้ SQL Server 2008 R2

sql Server 2008 Service Pack 1

โปรแกรมแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ก่อนใน Update 10 สะสมสำหรับ SQL Server 2008 Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2279604แพคเกจโปรแกรมปรับปรุงที่สะสม 10 สำหรับ SQL Server 2008 Service Pack 1
หมายเหตุ:เนื่องจาก builds สะสม แต่ละรุ่นใหม่ของโปรแกรมแก้ไขด่วนประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการแก้ไขการรักษาความปลอดภัยทั้งหมดที่มาพร้อมกับ SQL Server 2008 ก่อนหน้าออก Microsoft แนะนำว่า คุณควรพิจารณาถึงการใช้โปรแกรมแก้ไขด่วนรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
970365สร้าง SQL Server 2008 ที่หลังจากที่มีการนำออกใช้ SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 โปรแกรมแก้ไขด่วนถูกสร้างสำหรับการระบุของ sql server เซอร์วิสแพ็ค คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2008 Service Pack 1 ไปยังการติดตั้ง SQL Server 2008 Service Pack 1 โดยค่าเริ่มต้น hotfix ที่ให้ไว้ใน service pack ของ SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

sql Server 2008 Service Pack 2

โปรแกรมแก้ไขสำหรับปัญหานี้ได้ก่อนออกใน 1 การปรับปรุงที่สะสมสำหรับ SQL Server 2008 Service Pack 2 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2289254เด 1 สะสมสำหรับ SQL Server 2008 Service Pack 2
หมายเหตุ:เนื่องจาก builds สะสม แต่ละรุ่นใหม่ของโปรแกรมแก้ไขด่วนประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการแก้ไขการรักษาความปลอดภัยทั้งหมดที่มาพร้อมกับ SQL Server 2008 ก่อนหน้าออก เราขอแนะนำว่า คุณควรพิจารณาถึงการใช้โปรแกรมแก้ไขด่วนรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
2402659สร้าง SQL Server 2008 ที่หลังจากที่มีการนำออกใช้ SQL Server 2008 Service Pack 2

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

เมื่อต้องการแก้ไขปัญหานี้ ใช้อรรถาภิธานค้นหาแบบเต็มที่เพื่อกำหนดคำเหมือนของ predicate

เมื่อต้องการทำเช่นนี้ ใช้formsofการทำงานร่วมกันกับอรรถาภิธานค่า และจากนั้น ทำเพิ่มคำสำคัญทั้งหมดเป็นพารามิเตอร์

ตัวอย่างที่อธิบายไว้ในส่วน "อาการ" ต่อไปนี้คือ แบบสอบถามตัวอย่างรุ่นที่ปรับปรุง:
Select * from test_table where Contains(*,'FORMSOF (THESAURUS,"architectural","engineer","Mechanical","Engineering","Electronics","Engineer","Electrical","Control","Systems","Project","Manager","Manufacturing","Metallurgy","Metallurgist","Process",”Design”,"Technology","Production","Quality","Control","Civil","Graduate","Recruitment","consultant","trainee","recruitment")')

สถานะ

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการcontainstableฟังก์ชัน การเยี่ยมชมเว็บไซต์ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับฟังก์ชัน CONTAINSTABLE
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรุ่นให้บริการแบบเพิ่มหน่วยสำหรับ SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
935897มีแบบจำลองให้บริการแบบเพิ่มหน่วยจะพร้อมใช้งานจากทีม SQL Server จะจัดส่งโปรแกรมแก้ไขด่วนสำหรับการรายงานปัญหา
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเค้าร่างตั้งชื่อสำหรับการปรับปรุงใน SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
822499แบบแผนการตั้งชื่อใหม่สำหรับแพคเกจโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft SQL Server
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความใน Microsoft Knowledge Base::
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

คุณสมบัติ

หมายเลขบทความ (Article ID): 2344600 - รีวิวครั้งสุดท้าย: 20 ธันวาคม 2553 - Revision: 3.0
ใช้กับ
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2344600 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2344600

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

 

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