
CU13 چه تغییراتی برای SQL Server 2022 داره
- تکنولوژی
- 1404/02/29
- 29 اردیبهشت 1404
در این مقاله به بررسی تغغیرات موجود در cumulativeupdate12 برای SQl Server 2022 میپردازیم
سناریوی هر کدوم رو هم در صورت امکان برای تست در محیط لوکال ارایه میدیم
نکته اینکه برای سناریو های تست دو تا راه هست
1) یکی اینکه دو تا Instance روی دو تا سرور یا VM نصب کرنید یکی شون رو به نسخه قبلی آپدیت کنید و یکی شون رو به نسخه بعدی
2) یکی دیگه هم میتونید تست ها رو ی روی محیط خودتون قبل از اپدیت انجم بدین و بعد از آپدیت کردن مجددا بررسی کنید
خب بریم سراغ تغییران این آپدیت
- Bug 2998350 – خطای موقتی در آنلاین شدن Replica ثانویه در AG
شرح: در برخی مواقع دیتابیسهای ثانویه در Availability Group ممکن است موقتاً آنلاین نشوند و با خطای 3602 مواجه شوند.
سناریوی تست:
Code |
— شبیهسازی راهاندازی نادرست در Replica ثانویه — در یک AG، ریستارت Replica ثانویه هنگام Restore نشدن کامل — بررسی ارورها در لاگ: EXEC xp_readerrorlog 0, 1, ‘startup failed with error 3602’; |
- Bug 3025790 – خطای Assertion در Availability Group بدون کلاستر
شرح: هنگام استفاده از AG فقط برای Read-Scale بدون پیکربندی کلاستر، ممکن است با خطای Assertion مواجه شوید.
سناریوی تست:
- ساخت AG بدون کلاستر (Configuration-Only Replica)
- بررسی لاگ برای Assertion مرتبط با HadrArProxy.cpp
- Bug 2984871 – Access Violation در Lock Manager بین Primary و Secondary با CPU متفاوت
شرح: در صورت تفاوت زیاد تعداد CPU بین Primary (مثلاً 16) و Secondary (کمتر از 16)، ممکن است Access Violation رخ دهد.
سناریوی تست:
- اجرای workload سنگین بین دو Replica با CPU نامتقارن
- بررسی dumpهای ایجاد شده در فولدر Log
- Bug 3084239 – Self Deadlock هنگام استفاده از SEQUENCE
شرح: استفاده از SEQUENCE ممکن است باعث deadlock داخلی به دلیل escalated lock شود.
سناریوی تست:
Code |
CREATE SEQUENCE SeqTest START WITH 1 INCREMENT BY 1; GO — اجرای موازی زیر: SELECT NEXT VALUE FOR SeqTest; — مشاهده زمان انتظار یا بلوکه شدن در sys.dm_tran_locks |
- Bug 2916501 – گزینه جدید برای محدود کردن حافظه RPC
شرح: گزینه جدید max RPC request params (KB) برای محدودسازی حافظه پارامترهای RPC اضافه شده است.
سناریوی تست:
Code |
EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE; EXEC sp_configure ‘max RPC request params (KB)’, 1024; RECONFIGURE; — اجرای RPC با پارامترهای زیاد و بررسی محدودیت |
- Bug 2973934 – مقدار -0 باعث خطا در DBCC CHECKDB
شرح: مقدار منفی صفر هنگام تبدیل به DECIMAL ممکن است در چک DBCC خطا بدهد.
سناریوی تست:
Code |
CREATE TABLE T (c DECIMAL(5,2)); INSERT INTO T SELECT CAST(‘-0.00’ AS DECIMAL(5,2)); DBCC CHECKTABLE(‘T’); |
- Bug 3102467 – بهبود عملکرد ساخت Statistics برای جداول Temp
شرح: کاهش PREEMPTIVE_OS_REGISTRY با کش کردن max steps در ساخت آمار روی Temp Table ها.
سناریوی تست:
CREATE TABLE #t (id INT);
CREATE STATISTICS stat_id ON #t(id);
— بررسی wait stats مربوط به PREEMPTIVE_OS_REGISTRY
- Bug 2810754 – عدم امکان غیرفعالسازی CDC در حضور Always Encrypted
شرح: اگر ستونی Always Encrypted باشد، CDC غیرفعال نمیشود.
سناریوی تست:
- فعالسازی Always Encrypted روی یک ستون
- فعالسازی CDC
- تلاش برای غیرفعالسازی CDC و مشاهده خطا
- Bug 3003456 – از دست رفتن دادهها در CDC هنگام جابجایی پارتیشن
شرح: همزمانی CDC با عملیات Switch Partition باعث عدم درج برخی رکوردها در جدول CT میشود.
سناریوی تست:
- جدول پارتیشنی با CDC فعال
- اجرای SWITCH PARTITION در زمان capture
- بررسی دادههای CDC
- Bug 3015714 – خطا در sys.sp_flush_CT_internal_table_on_demand در حالت Case-Sensitive
شرح: در Collation حساس به حروف، اجرای این SP باعث خطا میشود.
سناریوی تست:
Code |
— تنظیم collation حساس به حروف CREATE DATABASE CaseDB COLLATE SQL_Latin1_General_CP1_CS_AS; USE CaseDB; — اجرای SP و بررسی پیام خطا مربوط به @TableName |
- Bug 3033974 – اضافه شدن پیام خطا به ستون comment در MSchange_tracking_history
شرح: برای شفافسازی دلایل خطا در cleanup، پیام به ستون comment افزوده شده است.
سناریوی تست:
- فعالسازی Change Tracking
- اعمال خطای عمدی در Cleanup (مانند قفل روی جدول)
- بررسی مقدار ستون comment در dbo.MSchange_tracking_history
- Bug 3144736 – Service Broker Fail هنگام Memory Pressure
شرح: در شرایط فشار حافظه، استفاده از Conversation Timer باعث Fail میشود.
سناریوی تست:
Code |
— فعالسازی Broker ALTER DATABASE [DB] SET ENABLE_BROKER; — ارسال پیام با TIMER: BEGIN DIALOG CONVERSATION … WITH TIMER = 60; — ایجاد memory pressure و بررسی رفتار |