Microsoft กระจาย Microsoft SQL Server 2008 และ Microsoft SQL Server 2008 R2 แก้ไขเป็นแฟ้มหนึ่งแฟ้มที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2008 ก่อนหน้าหรือ SQL Server 2008 R2 รุ่นที่แก้ไข
อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณสามารถสร้างกระบวนงานเก็บไว้ ใน Microsoft SQL Server 2008 หรือ ใน Microsoft SQL Server 2008 R2
-
กระบวนงานเก็บไว้ใช้ตัวแปรวัตถุขนาดใหญ่แบบไบนารี (BLOB)
-
ตัวแปร BLOB ถูกใช้ในฟังก์ชันสายอักขระ
-
คุณได้ดำเนินการกระบวนงานเก็บไว้
ในสถานการณ์สมมตินี้ แผนการสอบถามสำหรับกระบวนงานเก็บไว้จะไม่ถูกแคช
การแก้ไข
ข้อมูลโปรแกรมอัปเดตสะสม
SQL Server 2008 Service Pack ที่ 1
ก่อนการแก้ไขสำหรับปัญหานี้ถูกออกใน 10 การปรับปรุงสะสมสำหรับ SQL Server 2008 Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2279604 แพคเกจโปรแกรมปรับปรุงสะสม 10 สำหรับ SQL Server 2008 Service Pack 1หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2008 ก่อนหน้านี้แก้ไขการนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาถึงการใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
970365 สร้าง SQL Server 2008 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2008 Service Pack 1 โปรแกรมแก้ไขด่วนของ Microsoft SQL Server 2008 จะถูกสร้างขึ้นสำหรับ SQL Server service packs เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2008 Service Pack 1 เพื่อการติดตั้ง SQL Server 2008 Service Pack 1 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนใด ๆ ที่มีให้ในเซอร์วิสแพ็ค 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หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2008 ก่อนหน้านี้แก้ไขการนำออกใช้ เราขอแนะนำว่า คุณควรพิจารณาถึงการใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
2402659 สร้าง SQL Server 2008 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2008 Service Pack 2
SQL Server 2008 R2
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้แล้วใน 4 การปรับปรุงสะสมครั้งแรก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงนี้สำหรับ SQL Server 2008 R2 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2345451 สะสมแพ็คเกจการปรับปรุง 4 สำหรับ SQL Server 2008 R2 หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับการก่อนหน้า SQL Server 2008 R2 รุ่นที่แก้ไข เราขอแนะนำว่า คุณควรพิจารณาถึงการใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
981356 สร้าง SQL Server 2008 R2 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2008 R2
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
เมื่อต้องการทบทวนเกิดปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
-
เรียกใช้รหัสดังต่อไปนี้เพื่อสร้างสองเก็บกระบวนงาน ("p_test1" และ "p_test2") ตัวแปร BLOB ใช้ "P_test1" และ "p_test2" ใช้ตัวแปร nvarchar(100)use tempdbgoif OBJECT_ID('p_test1') is not null drop proc p_test1if OBJECT_ID('p_test2') is not null drop proc p_test2gocreate proc p_test1@s nvarchar(max)asbeginselect * from sys.objects where name = UPPER(@s)endgocreate proc p_test2@s nvarchar(100)asbeginselect * from sys.objects where name = UPPER(@s)endgo
-
เรียกใช้รหัสดังต่อไปนี้เพื่อล้างแคชกระบวนงาน และการดำเนินการทั้งสองขั้นตอนที่จัดเก็บไว้:dbcc freeproccachegoexec p_test1 N'abc'exec p_test2 N'abc'go
-
เรียกใช้รหัสดังต่อไปนี้เพื่อตรวจสอบแผนการแคช: select object_name(CONVERT(int, a.value)), cp.*from sys.dm_exec_cached_plans cpcross apply sys.dm_exec_plan_attributes(cp.plan_handle) awhere cp.objtype = 'Proc'and a.attribute = 'objectid'
หมายเหตุ ถ้ามี executions มากที่เกิดขึ้นพร้อมกันของกระบวนงานที่เก็บไว้ใน Microsoft SQL Server 2008 หรืออินสแตนซ์ของ Microsoft SQL Server 2008 R2 เป็นชนิดนี้ คุณอาจพบบล็อกที่มีสาเหตุจากคอมไพล์ล็อกบนอินสแตนซ์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำอธิบายของ SQL Server การบล็อคเกิดขึ้นจากการล็อกการคอมไพล์ ดูบทความฐานความรู้ของ Microsoft ต่อไปนี้:
263889 คำอธิบายของ SQL Server การบล็อคเกิดจากคอมไพล์ล็อก
อ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันสายอักขระ (คำสั่งกลุ่ม SQL), แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ฟังก์ชันสายอักขระ (คำสั่งกลุ่ม SQL)สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรุ่นให้บริการแบบเพิ่มหน่วยสำหรับ SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
935897 แบบจำลองแบบเพิ่มหน่วยให้บริการพร้อมใช้งานจากทีม SQL Server จะจัดส่งโปรแกรมแก้ไขด่วนสำหรับปัญหาที่รายงานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบแผนการตั้งชื่อสำหรับการปรับปรุง SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
822499แบบแผนการตั้งชื่อใหม่สำหรับแพคเกจปรับปรุงซอฟต์แวร์ของ Microsoft SQL Serverสำหรับข้อมูลเพิ่มเติมเกี่ยวกับศัพท์เฉพาะในการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft