ai30logo500whitecroped

هیچ محصولی در سبد خرید نیست.

CU15 چه تغییراتی برای SQL Server 2022 داره

در این مقاله به بررسی تغغیرات موجود در cumulativeupdate15 برای SQl Server 2022 میپردازیم
سناریوی هر کدوم رو هم در صورت امکان برای تست در محیط لوکال ارایه میدیم 
نکته اینکه برای سناریو های تست دو تا راه هست 
1) یکی اینکه دو تا Instance  روی دو تا سرور یا VM نصب کرنید یکی شون رو به نسخه قبلی آپدیت کنید و یکی شون رو به نسخه بعدی 

2) یکی دیگه هم میتونید تست ها رو ی روی محیط خودتون قبل از اپدیت انجم بدین و بعد از آپدیت کردن مجددا بررسی کنید 

خب بریم سراغ تغییران این آپدیت 

KB5041321 – Cumulative Update 15 for SQL Server 2022

 

در ادامه، سناریوی تست برای هر مورد ذکرشده ازCU15 درSQL Server 2022 آورده شده است. مواردی که در محیط لوکال(single-node) قابل تست هستند همراهبا اسکریپت و توضیحات کامل ارائه شده‌اند. مواردی که نیاز به محیط خاص (مثلAlways On یا  DAG) دارند فقط توضیح داده شده‌اند.

🧪 سناریوهایتست قابل اجرا در محیط لوکال(Single-Node)

Bug 3285880 – Authentication issue with domain account in Master Data Services  ✅

قابل تست در محیط لوکال؟: خیر، نیاز بهdomain environment دارد.

توضیح: این اصلاح مربوط به احراز هویتdomain account در ابزار کانفیگMaster Data Services است. در محیط لوکال بدونdomain controller قابل تست نیست.

Bug 3354272 – Detecting Domain Controller✅

قابل تست در محیط لوکال؟: خیر، تشخیصdomain controller فقط در محیطی باActive Directory امکان‌پذیر است.

 Bug 3459086 – VSS Writer Freeze Issue✅

قابل تست در محیط لوکال؟: بله

توضیح سناریو تست:

  1. نصب یک ابزار پشتیبان‌گیری مثلVeeam Agent یا استفادهازWindows Server Backup.
  2. اجرایfull backup ازSQL Server با استفاده ازVSS.

تست:

Code

powershell

# دستور شروع بکاپ باVolume  Shadow  Copy

wbadmin  start  backup  -backupTarget:D:  -include:C: -quiet

بررسی:

  • درEvent Viewer بررسی کنید کهVSS Writer مربوط بهSQL Server با موفقیتFreeze انجام داده یا خیر.
  • در فایل لاگSQL (ERRORLOG) دنبال پیام‌های مرتبط باfreeze/unfreeze بگردید.

 

 Bug 3338395 – PolyBase Error on Multiple TCP Ports✅

قابل تست در محیط لوکال؟: بله، اگرPolyBase فعال باشد.

سناریو تست:

  1. فعال‌سازیPolyBase:

Code

EXEC sp_configure ‘polybase enabled’, 1;

RECONFIGURE;

 

  1. تنظیم چند پورت برایSQL Server (درSQL Server Configuration Manager).
  2. ریستارت سرویسSQL.
  3. بررسی لاگ برای خطایArgumentException مربوط به پورت.

 Bug 3101865 – MODEL parameter validation in PREDICT✅

قابل تست در محیط لوکال؟: بله

اسکریپت تست:

Code

ساخت مدل ساده

CREATE TABLE ModelInput (Input1 FLOAT, Input2 FLOAT);

INSERT INTO ModelInput VALUES (1.1, 2.2);

اجرایPREDICT با مدل اشتباه

SELECT PREDICT(MODEL = ‘invalid_model’,

               DATA = ModelInput)

 

انتظار: پیغام خطا در صورت استفاده از مدلنامعتبر. CU15 باید خطا را به صورت واضح‌تر مدیریت کند.

 Bug 3181615 – CDC DDL Lockdown✅

قابل تست در محیط لوکال؟: بله

اسکریپت تست:

Code

USE master;

CREATE DATABASE TestCDC;

GO

USE TestCDC;

فعال‌سازیCDC

EXEC sys.sp_cdc_enable_db;

غیرفعال‌سازیCDC

EXEC sys.sp_cdc_disable_db;

اجرایsp_cdc_vupgrade باید با پیغام بهتری مواجه شود

EXEC sys.sp_cdc_vupgrade;

 

✅ Bug 3338274 – Case-sensitive collation error in replication

قابل تست در محیط لوکال؟: بله، با تنظیمcollation

اسکریپت تست:

CODE

ساخت دیتابیس باcollation حساس به حروف

CREATE DATABASE TestCase COLLATE Latin1_General_CS_AS;

اجرای ذخیره‌سازی که نیاز بهpublisher دارد

USE TestCase;

EXEC sp_validate_redirected_publisher;

 

📓

نتیجه: بررسی شود که خطا 21890 با دقت بیشتری مدیریت شده است.

Bug 3362871 – Checkpoint error with Change Tracking✅

قابل تست در محیط لوکال؟: بله

اسکریپت تست:

Code

USEmaster;

CREATEDATABASECTTest;

GO

ALTERDATABASECTTestSETCHANGE_TRACKING= ON

  (CHANGE_RETENTION= 2 DAYS, AUTO_CLEANUP= ON);

USECTTest;

CREATETABLEct_table (idINTPRIMARYKEY, valNVARCHAR(100));

ALTERTABLEct_table ENABLE CHANGE_TRACKING;

— اجرای چند عملیات و سپس checkpoint

INSERTINTOct_tableVALUES(1, test);

CHECKPOINT;

 

بررسی لاگ: خطای 2601 نباید رخ دهد.

❌ سناریوهایفقط قابل توضیح (نیاز به محیط پیچیده(

 Bug 3287656 – DAG assertion failure❌

  • فقط در محیط دارایDAG (Distributed Availability Group) قابل تست است.
  • CU15 بررسیمی‌کند کهDAG فقط شامل ۲AG باشد.

 Bug 3301982 – Assertion on changing database owner in readable secondary❌

  • نیاز بهAlways On Availability Group و یکsecondary readable دارد.

 Bug 3394373 – Transactional Replication error after AG failover❌

  • نیاز بهsetup باreplication وAvailability Group.
  • خطا زمانی رخ می‌دهد کهLog Reader Agent تکراری اجرا شودبعد ازfailover.

✅ جمع‌بندی تستدر محیط لوکال

انجام شد

نیاز بهاسکریپت

قابل تستدر لوکال

عنوان

Bug ID

❌

احراز هویتdomain

3285880

❌

تشخیصDC

3354272

✔️

بله

✅

VSS Writer

3459086

❌

DAG غلط

3287656

❌

تغییر مالک درsecondary

3301982

✔️

بله

✅

خطایPolyBase

3338395

✔️

بله

✅

مدل اشتباه درPREDICT

3101865

✔️

بله

✅

قفلDDL درCDC

3181615

✔️

بله

✅

collation درreplication

3338274

✔️

بله

✅

خطای 2601 درcheckpoint

3362871

❌

AG replication error

3394373

KB5041321 – Cumulative Update 15 for SQL Server 2022

This article describes Cumulative Update package 15 (CU15) for Microsoft SQL Server 2022. This update contains 14 fixes that were issued after the release of SQL Server 2022 Cumulative Update 14, and it updates components in the following builds:

  • SQL Server – Product version: 16.0.4145.4, file version: 2022.160.4145.4
  • Analysis Services – Product version: 16.0.43.233, file version: 2022.160.43.233

Known issues in this update

Patching error for secondary replicas in an availability group with databases enabled replication or CDC

اینمشکل مربوط به بروزرسانی تجمعیCU13 درSQL Server 2022 است و در نسخهCU16 رفع شده است. خلاصه مشکل و راه‌حل‌ها:

مشکل اصلی:

  • درCU13، یک اصلاح(fix 2998350) وارد شد که باعث شد دیتابیس‌هایSecendry در صورت داشتن  (replication) یاChange Data Capture (CDC) و بودن در (Availability Group) در هنگام راه‌اندازی به‌طورقابل اعتماد استارت بزنند.
  • اما این اصلاح مشکل ایجاد کردهنگامی‌کهSQL Server در حالت تک‌کاربره(single-user mode) اجرا می‌شود، دیتابیس‌هایAG نمی‌توانند عملیات بازیابی(recovery) راآغاز کنند.
  • Setup در این حالت در حین نصب، درحالت تک‌کاربره اجرا می‌شود و نمی‌تواند به دیتابیس‌ها دسترسی پیدا کند، کهموجب خطا و شکست مراحل نصب می‌شود.

خطای رخداده:

  • خطای مرتبط با انتظار برایراه‌اندازی دیتابیس‌ها درگیر که نام آن‌ها در گزارش خطا ذکر شده و شناسه گروهنادرست گزارش می‌شود (کد خطا: x851A001A0 )
  • پیغام معمول: invalid Group ID

راه‌حل‌هایموقتی قبل از نصب بروزرسانی:

  • فعال کردن Trace Flag 12347 که تغییرات اصلاحCU13 رابرمی‌گرداند (یعنی مشکل مربوط بهCU13 را رفعمی‌کند).
  • حذف یا غیرفعال کردنCDC یا  replication در دیتابیساز Ag

راه‌حلنهایی و رفع کامل:

  • این مشکل در SQL Server 2022 CU16 کاملاًبرطرف شده

Platform

Component

Fix area

Description

Bug reference

Windows

Master Data Services

Master Data Services

Fixes a domain account authentication issue in the configuration tool by adding an auto-retry method to the account validation part, which will use the UPN format and try to authenticate using three separate authentication methods after the authentication fails in SAM format and default.

این اصلاح مربوط به ابزارپیکربندی است و مشکل احراز هویت حساب کاربری دامنه را برطرف می‌کند. در ادامهخلاصه توضیحات:

مشکل حل شده

  • مشکل در احراز هویت حسابدامنه در ابزار پیکربندی، زمانی کهروش‌های مختلف احراز هویت(SAM وپیش‌فرض) با شکست مواجه می‌شوند.

راه‌حل:

  • اضافه کردنRetry اتوماتیک:
    • اگر احراز هویت در حالتSAM یا روش پیش‌فرض شکست خورد،سیستم به صورت خودکار سه روش مختلف دیگر را برای احراز هویت تست می‌کند.
    • استفاده از فرمتUPN (User Principal Name) برای تلاش‌های مجدد.

نتیجه:

  • این تغییر باعث افزایشاحتمال موفقیت در احراز هویت حساب‌های دامنه، حتی در شرایط مشکل‌دار می‌شودو نیاز به مداخلۀ دستی کاهش می‌یابد.

3285880

Windows

Master Data Services

Master Data Services

Updates the criterion for determining the current machine type and the judgment conditions of whether it is a domain controller.

این به‌روزرسانیمربوط به روش‌شناسی تشخیص نوع ماشین (سیستم) و وضعیت بودن آن به عنوانکنترل‌کننده دامنه(Domain Controller) است. به طور خلاصه:

  • بهبود معیارهای تشخیص نوعدستگاه: روش‌های مورد استفاده برای تعیین اینکه ماشین جاری، نوع خاصی ازسیستم است، به‌روز شده است.
  • بهبود در شرایط قضاوت اینکهدستگاه، کنترل‌کننده دامنه است یا خیر: معیارهای تصمیم‌گیری، دقیق‌تر ومطمئن‌تر شده‌اند.

این تغییرات کمک می‌کند تا سیستم‌ها بهتر و دقیق‌تر بتوانندوضعیت ماشین را شناسایی کنند، که ممکن است در فرآیندهای مدیریتی و امنیتی موثرباشد.

3354272

Windows

Backup Restore

SQL Server Engine

Fixes an issue in which the SQL Server Volume Shadow Copy Service (VSS) Writer can’t freeze the database during a VSS-based backup. For more information, see known issue two of SQL Server 2022 CU14.

این اصلاح مشکلمربوط به سرویس Volume Shadow Copy Service (VSS) Writer درSQL Server است. خلاصه موارد مهم:

  • مشکل برطرف شده: در نسخه‌هایقبلی،VSS Writer نتوانسته بود در هنگام بکاپمبتنی برVSS، دیتابیس را فریز کند (برایگرفتن نسخه پشتیبان صحیح و کامل).
  • نتیجه: این مشکل باعث می‌شدفرآیند پشتیبان‌گیری نتواند به درستی انجام شود یا داده‌ها کامل نباشند.
  • مرجع مشکل قبلی: برایاطلاعات بیشتر، به مشکل شناخته‌شده دو درCU14 درSQL Server 2022 مراجعه کنید.

این اصلاح تضمین می‌کند که فرآیند پشتیبان‌گیری‌هایVSS بهتر و بدون مشکل انجام شود، و دیتابیس در حالت مناسب قرار گیرد.

3459086

All

High Availability and Disaster Recovery

SQL Server Engine

Fixes an assertion failure (Location: ListenerSpec.cpp:480; Expression: totalUsed + cbListenerName <= cbObj) that you encounter when creating a distributed availability group (DAG) and incorrectly specifying the number of availability groups in it to be other than two.

در زمان تعریف تعداد دگ ها رو اشتباه بهش بگیم

این اصلاح مشکلمربوط به خطای assertion failure است که هنگام ساختن یک  (DAG) رخ می‌دهد، به ویژه زمانی که تعدادAg در آن نادرست و غیر از دو تعیینشده باشد.

توضیحات مختصر:

  • خطا در فایل ListenerSpec.cpp، خط 480، و عبارتمرتبط:
    totalUsed + cbListenerName <= cbObj
  • مشکل اصلی: هنگام تنظیمنادرست تعداد گروه‌های دسترسی درDAG،سیستم خطا می‌دهد.
  • تعداد مجاز: تعداد گروه‌هایدسترسی باید دقیقا دو باشد؛ مقادیر دیگر باعث بروز این خطا می‌شود.

راه‌حل:

  • این مشکل در نسخهSQL Server 2022 CU14 رفع شده است.
  • توصیه: برای جلوگیری از اینخطا، حتماً از نسخه بروزرسانی شدهCU14(یا بالاتر) استفاده کنید و تعداد agها مشخص شود.

3287656

All

Metadata

SQL Server Engine

Fixes an assertion failure (Location: MetadataVersion.cpp:71; Expression: !CFeatureSwitchesMin::GetCurrentInstance()->FEntityVerStoreCsnCheckEnabled() || newInfo != InvalidXts()) that you encounter when you try to change the database owner on a readable secondary replica of an Always On availability group.

یک ادعای اشتباه رو که در نود سکندری می تونی owner یک دیتابیس یا یک گروه رو عوض کنی اصلاح کرده.

3301982

All

PolyBase

SQL Server Engine

Fixes an issue in which PolyBase throws the following error at service startup if the SQL Server instance is configured to listen on multiple TCP ports:

System.ArgumentException: Unable to parse port, instance = ‘<InstanceName>’, text = ‘<Text>’

اگر اینستنس اس کیو ال برای شنیدن چندین پورت Tcp  گانفیگ شده باشد سرویس polybaseموقع راه اندازی دچار خطا میشه  که برطرف شده

3338395

All

Query Execution

SQL Server Engine

Adds a validation for the MODEL parameter when running PREDICT to avoid errors due to the input of wrong models.

یک ویرایش اضافه کرده برای Model parametr   که پیش بینی میکنه برای جلوگیری از خطا

3101865

All

Replication

SQL Server Engine

Adds a new security feature to implement change data capture (CDC) metadata data definition language (DDL) lockdown, preventing errors that might occur when running sp_cdc_vupgrade against a database with CDC disabled.

یک ddlاضافه کرده برای جلوگیری از خطا زمان اجرای  sp_cdc_vupgrade ag، این sp  توسط ادمین اجرا میشهامعمولاهنگام بروزرسانی یا تغییر نسخه‌یCDC در پایگاه داده‌ها اجرا می‌شود تا سازگاریو عملکردCDC پس از تغییرات حفظ شود. 

3181615

All

Replication

SQL Server Engine

Fixes the following error 21890 that you encounter when you use the case-sensitive collation and run sp_validate_redirected_publisher:

The SQL Server instance ‘<InstanceName>’ with distributor ‘<DistributorName>’ and distribution database ‘<DatabaseName>’ cannot be used with publisher database ‘<DatabaseName>’. Reconfigure the publisher to make use of distributor ‘<DistributorName>’ and distribution database ‘<DatabaseName>’.

این خطا زمانی اتفاق میفته که Case-sensetive   کولیشن استفاده کنیم و sp  زیر رو هم اجرا کنیم   

 sp_validate_redirected_publisher

3338274

All

Replication

SQL Server Engine

Fixes an issue with checkpoint operation in which the following error 2601 occurs when SQL Server tries to perform a checkpoint operation on the database that has change tracking enabled:

<DateTime> Error: 2601, Severity: 14, State: 1.

<DateTime> Cannot insert duplicate key row in object ‘<ObjectName>’ with unique index ‘<IndexName>’. The duplicate key value is <KeyValue>. 

این مشکل مربوطبه خطای 2601 است که هنگام انجام عملیاتcheckpoint در دیتابیسی با فعال‌سازیChange Tracking رخ می‌دهد. خطا نشان می‌دهد کهسیستم تلاش می‌کند یک رکورد تکراری در یک جدول با کلید یکتا وارد کند، اما چنینرکوردی قبلاً وجود دارد.

علت مشکل:

  • زمانی کهChange Tracking فعال است، عملیاتcheckpoint ممکن است باعث بروز مشکلاتیدر مدیریت صف‌های تغییرات یا یونیک اندیکس‌ها شود، مخصوصاً اگر داده‌هایتکراری یا ناسازگار در سیستم وجود داشته باشد.
  • این خطا معمولاً به دلیلتداخل در داده‌ها یا مشکل در سازگاری سوابق است.

3362871

Windows

Replication

SQL Server Engine

Fixes an issue in which error 18752 occurs and transactional replication stops working when you use a heavy workload in combination with availability groups and after a failover occurs.

Error message:

Only one Log Reader Agent or log-related procedure (sp_repldone, sp_replcmds, and sp_replshowcmds) can connect to a database at a time. If you executed a log-related procedure, drop the connection with session ID <SessionID> over which the procedure was executed or execute sp_replflush over that connection before starting the Log Reader Agent or executing another log-related procedure.

این خطا زمانی اتفاق می افته که یک transactional replacation استاپ میشه کارش وقتی که یک ورک لود سنگین پس از یک failover  اتفاق میفته در ان زمان سیستم اجازه نمیده که پروسیجرهای مرتبط با لاگ به دیتابیس در اون لحظه وصل بشن.

3394373

All

Storage Management

SQL Server Engine

Before the fix, the SQL Server error log records many messages regarding starting or stopping Extended Events (XEvents) sessions. After applying the fix, starting or stopping XEvents sessions isn’t logged by default. You can enable it by turning trace flag 9714 on.

قبل از برطرف شدن ،خطاهای زیادی مربوط به استارت و اسناپ شدن exten eventثبت میشد اما بعدش در صورتی که بخواهیم این اتفاق بیفته باید فلگ 9714رو فعال کنیم.

3325413

All

Temporal

SQL Server Engine

Fixes an issue in which table and column names that are read from database metadata aren’t correctly quoted in some cases when building internal SQL Server batches in stored procedures that manage temporal tables. After applying the fix, quoting is completed correctly.

خطایی رو فیکس کرده که وقتی یک جدول یا ستونی از متادیتای پایگاه داده خونده  میشه و نامشون داخل گیومه یا براکت ،در بعضی موارد که یک بچ داخل اس پی که جداول تمپرال رو منیج میکنن به درستی تشخیص داده نمیشن رو اصلاح کرده

3409327

All

 

 

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *