แก้ไข: ประสิทธิภาพช้าเมื่อทริกเกอร์ AFTER ทำงานบนตาราง partitioned ใน SQL Server 2008 R2 หรือ ใน SQL Server 2012

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2606883 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

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

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้:
  • คุณสร้างพาร์ติชันสำหรับตาราง ใน Microsoft SQL Server 2008 R2 หรือ ใน 2012 เซิร์ฟเวอร์ของ Microsoft SQL
  • คุณสร้างการ หลังจาก ทริกเกอร์เนื่องจากสาเหตุใด แทรก หรือ ลบ การดำเนินการที่จะดำเนินการตามตาราง
  • คุณได้ดำเนินการ แทรก หรือ ลบ การดำเนินงานในตาราง

ในสถานการณ์สมมตินี้ ประสิทธิภาพการทำงานช้าอาจเกิดขึ้น นอกจากนี้ อ่านแบบลอจิคัลหลายอาจเกิดขึ้นหากคุณรันชุดงานของผู้สร้างโปรไฟล์ของ SQL

สาเหตุ

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

การแก้ไข

เมื่อต้องแก้ไขปัญหานี้ ให้ใช้โปรแกรมแก้ไขด่วนที่ต่อไปนี้ และใช้ค่าสถานะการติดตาม-T2470

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

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

SQL Server 2008 R2 Service Pack 1

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

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

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนที่สนับสนุนได้จาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้นั้น ใช้ hotfix นี้เฉพาะกับระบบต่าง ๆ ที่พบปัญหานี้

หากโปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด คุณจะเห็นส่วน "โปรแกรมแก้ไขด่วนพร้อมใช้งานดาวน์โหลด" ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ส่งการร้องขอการบริการลูกค้าของ Microsoft และวิธีการขอรับโปรแกรมแก้ไขด่วน

หมายเหตุ หากเกิดปัญหาเพิ่มเติม หรือแก้ไข คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะไปคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่สามารถจัดโปรแกรมแก้ไขด่วนนี้เฉพาะ สำหรับรายการทั้งหมด ของหมายเลขโทรศัพท์ฝ่ายสนับสนุนและการบริการลูกค้าของ Microsoft หรือเมื่อ ต้องสร้างการร้องขอบริการแยกต่างหาก เยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
ฝ่าย
หมายเหตุ แบบฟอร์ม "ดาวน์โหลดโปรแกรมแก้ไขด่วนพร้อมใช้งาน" แสดงภาษาที่ซึ่งมีโปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ เป็น เพราะโปรแกรมแก้ไขด่วนจะไม่พร้อมใช้งานสำหรับภาษานั้น

ข้อกำหนดเบื้องต้น

เมื่อต้องใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) ติดตั้งอยู่

ความต้องการเริ่มการทำงาน

คุณไม่ต้องเริ่มระบบของคอมพิวเตอร์ใหม่หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนโปรแกรมแก้ไขด่วนที่นำออกใช้ก่อนหน้านี้

แฟ้มข้อมูล

รุ่นสากลนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์แฟ้มรุ่นที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันและเวลาของแฟ้มเหล่านี้แสดงในรูปแบบเวลา (UTC) เมื่อคุณดูข้อมูลแฟ้มข้อมูล จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่น ใช้ โซนเวลา ในการ วันและเวลา รายการใน'แผงควบคุม'

สำหรับรายการทั้งหมดที่ได้รับการสนับสนุน SQL Server 2008 R2 SP1 รุ่นที่ใช้ x86
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดของแฟ้มวันเวลาแพลตฟอร์ม
Sqlservr.exe2009.100.2776.043,053,92015 กันยายน 201101:47x 86

สำหรับข้อมูลทั้งหมดที่ได้รับการสนับสนุนการปรับรุ่นSQL Server 2008 R2 SP1

ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดของแฟ้มวันเวลาแพลตฟอร์ม
Sqlservr.exe2009.100.2776.062,176,60815 กันยายน 201100:57x 64

สำหรับทั้งหมด IA-64ในรุ่นที่สนับสนุนSQL Server 2008 R2 SP1

ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดของแฟ้มวันเวลาแพลตฟอร์ม
Sqlservr.exe2009.100.2776.0122,105,69615 กันยายน 201100:23IA-64


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

เมื่อต้องหลีกเลี่ยงปัญหานี้ เปลี่ยนAFTERทริกเกอร์ทริกเกอร์แทรกของ INSTEADหรือทริกเกอร์การลบของ INSTEAD

ยกตัวอย่างเช่น คุณรันคำสั่งต่อไปนี้เพื่อสร้างเป็นทริกเกอร์การAFTER :
CREATE TRIGGER TR_Test ON Test FOR INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED END GO
ในสถานการณ์สมมตินี้ เปลี่ยนAFTERทริกเกอร์ของ INSTEAD แทรกโดยใช้คำสั่งต่อไปนี้ที่:
CREATE TRIGGER TR_Test ON Test INSTEAD OF INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED INSERT INTO Test (Groupe) SELECT @groupe FROM INSERTED END

สถานะ

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

คุณสมบัติ

หมายเลขบทความ (Article ID): 2606883 - รีวิวครั้งสุดท้าย: 16 เมษายน 2555 - Revision: 3.0
ใช้กับ
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2012 Developer
Keywords: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2606883 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2606883

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

 

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