มีการแจกจ่ายโปรแกรมแก้ไขปัญหาของ Microsoft SQL Server 2012 Service Pack 1ในรูปแฟ้มที่ดาวน์โหลดได้ Given ว่าการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับการก่อนหน้า SQL Server 2012 Service Pack 1 แก้ไขการนำออกใช้
อาการ
เมื่อคุณเรียกใช้คำสั่ง SQL คำสั่งกลุ่มใน SQL Server 2012 คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ไวยากรณ์ไม่ถูกต้องใกล้กับ 'begi'
ปัญหานี้เกิดขึ้นเมื่อตรงตามเงื่อนไขต่อไปนี้:
-
คำสั่งประกอบด้วยเงื่อนไขIFข้อผิด
-
เงื่อนไขIFไม่ประกอบด้วยคำสั่งที่เริ่มต้นและสิ้นสุด
-
เงื่อนไขIFตามบล็อกให้ลองเริ่มต้น
-
บล็อคIFเป็น recompiled เมื่อคุณเรียกใช้แบบสอบถาม
การแก้ปัญหา
ข้อมูลการปรับปรุงสะสม
ปรับปรุงสะสม 4 สำหรับ SQL Server 2012 SP1
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้แล้วใน 4 การปรับปรุงสะสมครั้งแรก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงนี้สำหรับ SQL Server 2012 SP1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
2833645 Cumulative ปรับปรุง 4 สำหรับ SQL Server 2012 SP1หมายเหตุ Given ว่ารุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขความปลอดภัยทั้งหมดที่ถูกรวมกับการก่อนหน้า SQL Server 2012 SP1 รุ่นที่แก้ไข เราขอแนะนำว่า คุณควรพิจารณาถึงการใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
2772858 2012 เซิร์ฟเวอร์ SQL สร้างที่เปิดตัวหลังจากเปิดตัว SQL Server 2012 Service Pack 1
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
เมื่อต้องการทบทวนเกิดปัญหานี้ เรียกใช้คำสั่ง SQL คำสั่งกลุ่มที่ต่อไปนี้ใน SQL Server 2012:
DECLARE @i INT
IF object_id('tempdb..#temptable') IS NOT NULL
DROP TABLE #temptable
CREATE TABLE #temptable (id INT)
INSERT INTO #temptable VALUES (1),(2),(3);
IF year(getdate())=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable);
BEGIN TRY
SELECT 'message'
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE()
END CATCH
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ เพิ่มคำสั่งเริ่มต้นและสิ้นสุดให้กับเงื่อนไขIF
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรุ่นให้บริการแบบเพิ่มหน่วยสำหรับ SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
935897แบบแบบเพิ่มหน่วยให้บริการแบบจำลองพร้อมใช้งานจากทีม SQL Server จะจัดส่งโปรแกรมแก้ไขด่วนสำหรับปัญหาที่รายงานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบแผนการตั้งชื่อสำหรับการปรับปรุง SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
แพคเกจการปรับปรุง schema Naming 822499สำหรับซอฟต์แวร์ของ Microsoft SQL Serverสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อไปยังบทความในฐานความรู้ของ Microsoft:
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft