ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

มีการแจกจ่ายโปรแกรมแก้ไขปัญหาของ 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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×