خانه SQL Server اطلاع رسانی در خصوص امکانات SQL Server 2022 SQL Server مبانی SQL Server نوشته شده توسط: مسعود طاهری تاریخ انتشار: ۱۵ آبان ۱۴۰۰ آخرین بروزرسانی: 12 آذر 1403 زمان مطالعه: 14 دقیقه ۲.۸ (۵) SQL Server 2022، ما در نیک آموز تصمیم گرفتیم همزمان با انتشار این محصول قابلیتهای آن در قالب مقاله، پادکست صوتی، ویدئو و… بررسی کنیم. اما قبل از این که امکانات SQL Server 2022 را خدمت شما معرفی کنم باید به دو نکته مهم اشاره کنم. برای درک بهتر مفاهیم آموزش جامع SQL Server را مطالعه کنید. اطلاع رسانی در خصوص امکانات SQL Server 2022 نکته مهم در خصوص نسخه Private Preview در حال حاضر (آبان ماه ۱۴۰۰) نسخهای که از SQL Server 2022 منتشر شده است Private Preview است یعنی شما درخواست میدهد مایکروسافت بررسی میکند که آیا شما و شرکتتان شرایط بررسی محصول را دارید یا خیر؟ در صورتی که شرایط آن را داشته باشید محصول را بررسی کنید یک نسخه از محصول با کلی قانون برای شما ارسال میشود. هدف مایکرسافت از انجام این کار این است که شما به آنها در پیدا کردن باگ محصول و همچنین نوشتن مستندات فنی کمک کنید. بنابراین شاید در ایران به این راحتی کسی نتواند Private Preview محصولات مایکروسافت را دریافت نماید نکته مهم در خصوص امکانات Cloud مایکروسافت در این نسخه روی Azure به شدت تمرکز کرده و کلی قابلیت مفید و خوب را به سمت Azure هدایت کرده است. این موضوع برای ما ایرانیها چندان جالب نیست چون امکانات مربوط به Cloud برای ما کشورهای تحت تحریم در دسترس نمیباشد و… اما نگران نباشید این همه ماجرا نیست ما در این نسخه مطابق مستندات و فیلمهای معرفی شده توسط مایکروسافت امکانات خیلی خوب و مفیدی داریم که در هسته SQL Server بوده و ارتباطی به Azure ندارد حالا برویم سراغ معرفی امکانات جدید SQL Server 2022 ۱. راهاندازی سریع Always-ON با یک Instance از نوع Azure (Azure SQL Managed Instance) این ویژگی خوب باعث میشود که دیتابیس شما همیشه در دسترس باشد. انجام این کار در SQL Server 2022 پیچیدگی خاصی نداشته و به راحتی آب خوردن با Wizardی که Management Studio در اختیار شما میگذارد امکان پذیر میباشدبا توجه به این که Azure در بیرون از شبکه داخلی شما است SQL Server 2022 یک Distribute Availability Group داخلی برای ارتباط بین دو Replica برقرار میکند که این موضوع شما را از پیچدگی و… مربوط به این کار خلاص میکند. پس از راهاندازی این ویژگی امکان Failover کردن به راحتی آب خوردن بوده و شما میتوانید Primary Replica را به Azure و یا نسخه On Premise انتفال دهید. پیشنهاد میکنیم برای درک بهتر مفاهیم دوره کوئری نویسی پیشرفته را مطالعه کنید. ۲. تجزیه و تحلیل یکپارچه بر روی دادهها عملیاتی با استفاده از Azure Synapse Analytics با استفاده از Azure Synapse Analytics شما میتوانید حجم عظیمی از دادهها را تجزیه و تحلیل نمایید. در نسخههای قبلی SQL Server برای استفاده از امکانات Azure Synapse باید دادهها را ETL کرده و با ایجاد یک Pipeline مناسب به سمت Azure Synapse هدایت کنیم. اما حالا در SQL Server 2022 نیازی به ETL و پیچدگیهای مربوط به آن نیست خود Database Engine به صورت خودکار به صورت Near Real Time دادهها را به سمت Azure Synapse ارسال میکند.هنگامی که دادهها به Synapse رسید میتوان آنها را بدون توجه به اندازه و مقیاس و یا قالب آن با منابع اطلاعاتی مختلف آن را ترکیب کرده و همچینن از سرویسهایی مانند Azure Machine Learning و یا Power BI برای ارائه یک تجزیه و تحلیل قدرتمند بر روی دادهها استفاده کرد. ۳. یکپارچهسازی SQL Server 2022 با Azure Purview سرویس Azure Purview امکان نظارت بر روی دادهها را فراهم میکند تا بوسیله آن بتوانیم دادهها را امن کنیم. با استفاده از این سرویس ما میتوانیم دادهها محرمانه را از روی حجم زیادی از داده کشف کرده و نظارت بر روی آنها را دو چندان کنیم. زمانی که شما از این ویژگی در SQL Server 2022 استفاده کنید موتور بانک اطلاعاتی به صورت خودکار SQL Server را اسکن میکند تا متا دیتای مربوط به دادهها را ثبت و ضبط نماید. پس از آن شما میتوانید با امکانات موجود در این سرویس دادهها حساس را کشف کرده و برچسب حساسیت بر روی آن بزنید و همچنین حقوق دسترسی برای آن پیکربندی کنید. ۴. ورود به دنیای Blockchain با SQL Server همان طور که اطلاع دارید SQL Server یکی از امنترین بانکهای اطلاعاتی موجود در دنیا است. این رو من نمیگم آمار NIST و ITIC میگه! جالب است که بدانید در طی ۱۰ سال گذشته کمترین آسیب پذیری برای SQL Server ارائه شده است. نمودار زیر این موضوع را به طور دقیق نمایش داده است.اما حالا در SQL Server 2022 یک ویژگی بسیار جذاب منتشر شده است که با استفاده از آن میتوانیم با استفاده از تکنولوژی بلاچین از یک دفتر کل (Ledger) غیر قابل تغییر برای محافظت از داده ها استفاده کنید. توجه داشته باشید که این تکنولوژی رمز ارز نیست نیاز به کارت گرافیکی گران قیمت و… نداردزمانی که شما این ویژگی را بر روی بانک اطلاعاتی خود فعال کنید قاعدتاً نباید بتوانید آن را غیر فعال کنید و تنها زمانی این کار شدنی خواهد بود که بانک اطلاعاتی را از مدار خارج کنید. (این موضوع ایدهای است که به ذهن خود من رسیده و فعلاً هنوز نتونستم آن را آزمایش کنم.) ۵. اضافه شدن امکانات و ویژگیهای جدید به Polybase یکی از ویژگیهای جذاب SQL Server هنگام کار با دادههای مختلف این است که شما میتوانید با تکنولوژی Polybase به بانک اطلاعاتی مورد نظر وصل شده و بدون این که نیاز باشد داده مورد نظر خود را به SQL Server منتقل کنید داده را در قالب External Table در بانک اطلاعاتی داشته باشید و بتوانید آن را با سایر جداول خود Join زده و مورد استفاده قرار دهید. خبر خوب این است که در این نسخه پشتیبانی از Web API به Polybase اضافه شده است. در این حالت شما میتوانید با استفاده از این تکنولوژی به هر نوع Data Lakeی وصل شوید و دادههای آن را در قالب External Table در SQL Server مورد استفاده قرار دهید. خود من بی صبرانه منتظر این هستم که این ویژگی را تست و مورد استفاده قرار دهم. یکی از کتابهایی که میتواند به شما در خصوص Polybase کمک کند توسط نیک آموز منتشر شده است شما میتوانید برای اطلاعات بیشتر به این لینک مراجعه کنید. ۶. پشتیبانی از دستورات جدید TSQL با توجه به اینکه SQL Server از استاندارد ANSI در حوزه SQL پشتیبانی میکند ما در این نسخه تعدادی قابلیت جدید داریم که مبتنی بر استاندارد ANSI SQL بوده و همچنین درخواستهایی که کاربران برای تیم پشتیبانی در این نسخه ارسال کردهاند ۷. اضافه شدن قابلیتهای جدید برای کار با JSON زمانی که در SQL Server 2016 پشتیبانی از JSON به موتور SQL Server اضافه شد همه ما دوست داشتیم که بتوانیم از JSON در بانکهای اطلاعاتی خود استفاده کنیم مایکروسافت برای شروع در این نسخه و همچینن نسخههای بعدی تعدادی تابع برای کار با JSON اضافه کرد اما هنوز آن را به عنوان Data Type همانند XML به رسمیت نشناخت. در حال حاضر ماطبق مستندات موجود مایکروسافت تعداد تابع جدید برای کار با JSON در SQL Server 2022 ارائه خواهد کرد. ۸. پشتیبانی از S3 در دنیای امروز استفاده از S3 برای ذخیرهسازی دادهها باب شده است. ما در این حوزه کلی ابزار Open Source داریم که به ما اجازه ایجاد Storage با سخت افزارهای ارزان قیمت میدهند که از نمونه آن میتوان به Ceph، MinIO و… اشاره کرد. خبر خوب این است که SQL Server 2022 پشتیبانی از S3 را برای ذخیره کردن نسخههای پشتیبان در دستور کار قرار داده است. ۹-پشتیبانی از Time Series ارائه تعدادی Function و دستورات TSQL جدید برای پردازش دادههای سری زمانی در SQL Server 2022 یکی از قابلیتهای عالی آن میباشد. ۱۰. اعمال تغییرات بهینه در Query Store یکی از ویژگیهای جالب در SQL Server که میتوان برای کارهای Performanceی از آن استفاده کرد Query Store است. همین الان (آبان ۱۴۰۰) با تیم نیک آموز درگیر دو پروژه بزرگ Performance & Tuning در دو سازمان بزرگ دولتی هستیم که از این ویژگی در آن استفاده میکنیم. انصافاً داشبوردهای آن بسیار کمک کننده در حل مسئلههای Performanceی میباشد. با استفاده از Query Store اطلاعات آماری مانند مدت زمان اجرای کوئریها، مقدار IO مصرف شده و همچنین Execution Plan کوئریها بعلاوه کلی اطلاعات کاربردی و مفید از شرایط اجرای کوئریها به صورت Asynchronously در جداولی تخصصی ذخیره میشود. پس از ذخیرهسازی این اطلاعات توسط SQL Server شما میتوانید دادههای مربوط به آن را در قالب داشبوردهایی حرفهای مشاهده و آنالیز نمایید.اما تغییراتی که در SQL Server 2022 به ازای Query Store انجام شده به شرح زیر است. فعال بودن خودکار Query Store این ویژگی به ازای بانکهای اطلاعاتی که در SQL Server 2022 ایجاد شدهاند خودکار فعال است یکپارچه شدن با ویژگی IQP (Intelligent Query Processing) در SQL Server 2022 ویژگی IQP به برای بهینهسازی خودکار بانک اطلاعاتی از آمارهای موجود در Query Store به بهترین نحو ممکن استفاده میکند این موضوع در بخشهای بعدی بررسی شده است استفاده از جُفتهای ثانویه Always-ON در SQL Server 2022 این امکان فراهم شده است که آماری که به ازای اجرای کوئریها جمع آوری میشود از Secondary Replicaهای موجود در Availability Group جمع آوری شود.اما اتفاقی که در SQL Server 2022 افتاده این است که هماهنگی IQP با Query Store بیشتر شده و این موضوع باعث شده است که IQP هوشمندتر شود. در این نسخه به طور پیشفرض Query Store بر روی بانکهای اطلاعاتی شما فعال خواهد بود در این حالت Execution Plan کوئریها و سایر آیتمها به صورت خودکار توسط Query Store جمعآوری شده و در جداولی تخصصی ذخیره میشود که داده آنها توسط IQP مورد تحلیل و آنالیز قرار میگیرد.سخن پایانی بهینهسازی بر روی کوئریهایی که دچار مشکل Parameter Sniffing شوند را داشته باشد و مناسبترین Plan را برای اجرای آنها انتخاب کند در بحث Cardinality Estimation تخمینهای مناسبی برای تعداد رکوردهای بازگشتی بزند. (در خصوص CE من چند بار در SQL Server 2014 زمانی که الگوریتم آن بازنویسی شد نقره داغ شدهام) تنظیم مناسبی برای MAXDOP داشته باشد تا بتواند بهینهترین حالت ممکن برای مصرف CPU را در نظر بگیرد. برای این که بتوانید از این ویژگیها در SQL Server 2022 استفاده کنید باید دو کار زیر را انجام دهید. ویژگی Query Store به ازای بانک اطلاعاتی شما فعال باشد. توجه داشته باشید که این ویژگی برای بانکهایی که در SQL Server 2022 ایجاد شدهاند اتوماتیک فعال است اما برای بانکهایی که از نسخههای قدیمی با Backup و Restore منتقل میشوند باید جداگانه فعال شود. شما میتوانید با استفاده از دستورات زیر Query Store را فعال کنید. USE master USE master GO ALTER DATABASE NikamoozDB2022 SET QUERY_STORE = ON GO ALTER DATABASE NikamoozDB2022 SET QUERY_STORE (OPERATION_MODE = READ_WRITE) GO تنظیم Compatibility بانک اطلاعاتی باید روی ۱۶۰ باشد. توضیح اشاره شده در بالا به ازای این موضوع هم صدق میکند. شما میتوانید با دستور زیر این کار را انجام دهید. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم. USE master GO ALTER DATABASE NikamoozDB2022 SET COMPATIBILITY_LEVEL = 160 GO چه رتبه ای میدهید؟ میانگین ۲.۸ / ۵. از مجموع ۵ اولین نفر باش دانلود مقاله اطلاع رسانی در خصوص امکانات SQL Server 2022 فرمت PDF 13 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 20 مقاله توسط این نویسنده محصولات 65 دوره توسط این نویسنده مسعود طاهری مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ، مدیر فنی پروژههای هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دورههــای SQL Server و هوشتجاری در شرکت نیکآموز و نویسنده کتاب PolyBase در SQL Server معرفی محصول مسعود طاهری دوره آموزشی ارتقا به SQL Server 2022 2.280.000 تومان 1.368.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ محمدعلی ۱۴ / ۱۰ / ۰۱ - ۰۵:۴۷ سلام خیلی ممنون از مطلب خوب تون روی سرور ما الن sql 2017 نصب می باشد که معمولا حدود ۲۰ گیگ از ۴۸ گیگ رم را اس کیو الی که برای یک سایت با بازدید روزانه حدود ۱۰ هزار بازدیدکننده دارد را اشغال کرده. با توجه به این مزیت های اس کیو ال ۲۰۲۲ و وضعیت سایت ما، آیا پیشنهاد نصب اس کیو ال جدید ۲۰۲۲ را می دهید ؟ امکان این هست که تاثیری در سرعت جستجو های سایت ما بگذارد یا فرقی خاصی نخواهد کرد که به زحمتش نصبش بی ارزد؟ متشکرم پاسخ به دیدگاه مهدی غفاری ۲۰ / ۰۷ / ۰۱ - ۱۱:۳۸ عالی بود استاد طاهری پاسخ به دیدگاه معظمی ۱۶ / ۰۸ / ۰۰ - ۱۲:۴۸ سلام و وقت بخیر خدمت تیم خوب نیک آموز خوشحالم که اینقدر خوب این اخبار جدید رو پوشش میدید یک موضوع مهم که توی نسخه ۲۰۲۲ ارائه شده و جای مطرح شدنش در این مقاله خالی بود بحث multi-write environment بود که میشه نوید این رو داد SQLServer هم در بحث کلاستر قابلیت خواندن و نوشتن رو خواهد داشت ،هرچند که ممکنه این امکان برای replica های Azure باشه: Availability With the move to a more global distribution of workers and customers, many organizations are moving to a multi-write environment that allows changes to be made to the local database and pushed out to other replicas in a two-way flow of updates. However, if multiple people change the same row in the database and the different write replicas have different information in them, previously this peer-to-peer replica conflict would stall the whole operation until it was addressed. With SQL Server 2022, we are automating the last-writer wins rule. Now, when a conflict is detected, the most recent modification time will be chosen to be persisted on all replicas. This helps keep your multi-write scenarios running smoothly. https://cloudblogs.microsoft.com/sqlserver/2021/11/02/announcing-sql-server-2022-preview-azure-enabled-with-continued-performance-and-security-innovation/ پاسخ به دیدگاه مسعود طاهری ۲۱ / ۰۸ / ۰۰ - ۰۰:۱۲ تشکر از شما این موضوع فعلا برای بحث Replication مطرح است در آپدیت جدید SQL Server 2019 هم ارائه شده باید منتظر بود و دید آیا اون را در Always-ON ارائه خواهند کرد یا خیر ؟ پاسخ به دیدگاه معظمی ۱۶ / ۰۸ / ۰۰ - ۱۲:۴۸ سلام و وقت بخیر خدمت تیم خوب نیک آموز خوشحالم که اینقدر خوب این اخبار جدید رو پوشش میدید یک موضوع مهم که توی نسخه ۲۰۲۲ ارائه شده و جای مطرح شدنش در این مقاله خالی بود بحث multi-write environment بود که میشه نوید این رو داد SQLServer هم در بحث کلاستر قابلیت خواندن و نوشتن رو خواهد داشت ،هرچند که ممکنه این امکان برای replica های Azure باشه: Availability With the move to a more global distribution of workers and customers, many organizations are moving to a multi-write environment that allows changes to be made to the local database and pushed out to other replicas in a two-way flow of updates. However, if multiple people change the same row in the database and the different write replicas have different information in them, previously this peer-to-peer replica conflict would stall the whole operation until it was addressed. With SQL Server 2022, we are automating the last-writer wins rule. Now, when a conflict is detected, the most recent modification time will be chosen to be persisted on all replicas. This helps keep your multi-write scenarios running smoothly. https://cloudblogs.microsoft.com/sqlserver/2021/11/02/announcing-sql-server-2022-preview-azure-enabled-with-continued-performance-and-security-innovation/ پاسخ به دیدگاه مسعود طاهری ۲۱ / ۰۸ / ۰۰ - ۰۰:۱۲ تشکر از شما این موضوع فعلا برای بحث Replication مطرح است در آپدیت جدید SQL Server 2019 هم ارائه شده باید منتظر بود و دید آیا اون را در Always-ON ارائه خواهند کرد یا خیر ؟ پاسخ به دیدگاه Amirhossein ۱۶ / ۰۸ / ۰۰ - ۱۱:۲۰ با سلام ممنون بابت توضیحاتتان. من جایی در رابطه با ویژگی چدیدی در مورد Json پیدا نکردم. لطفا لینکش رو به اشتراک بگذارید. پاسخ به دیدگاه مسعود طاهری ۲۱ / ۰۸ / ۰۰ - ۰۰:۳۹ در فیلم های معرفی شده به این موضوع اشاره شده باید منتظر جزئیات دقیق تر هنگام ارائه نسخه CTP که به صورت Public ارائه می شود باشیم پاسخ به دیدگاه Amirhossein ۱۶ / ۰۸ / ۰۰ - ۱۱:۲۰ با سلام ممنون بابت توضیحاتتان. من جایی در رابطه با ویژگی چدیدی در مورد Json پیدا نکردم. لطفا لینکش رو به اشتراک بگذارید. پاسخ به دیدگاه مسعود طاهری ۲۱ / ۰۸ / ۰۰ - ۰۰:۳۹ در فیلم های معرفی شده به این موضوع اشاره شده باید منتظر جزئیات دقیق تر هنگام ارائه نسخه CTP که به صورت Public ارائه می شود باشیم پاسخ به دیدگاه نا شناس ۱۵ / ۰۸ / ۰۰ - ۰۳:۴۹ ممنون بابت این مقاله یه سوالی که برام پیش اومده اینه که چرا شما افتخار می کنید ، مگه در تیم Develop این سیستم سهیم بوده اید ؟ پاسخ به دیدگاه آرزو محمدزاده ۱۶ / ۰۸ / ۰۰ - ۱۱:۲۷ درود وقت بخیر به نقل از مهندس مسعود طاهری من افتخار می کنم که با این محصول کار می کنم و این که از لحظه لحظه کار کردن با این محصول و کارم لذت می برم تشکر از همراهی شما پاسخ به دیدگاه نا شناس ۱۵ / ۰۸ / ۰۰ - ۰۳:۴۹ ممنون بابت این مقاله یه سوالی که برام پیش اومده اینه که چرا شما افتخار می کنید ، مگه در تیم Develop این سیستم سهیم بوده اید ؟ پاسخ به دیدگاه آرزو محمدزاده ۱۶ / ۰۸ / ۰۰ - ۱۱:۲۷ درود وقت بخیر به نقل از مهندس مسعود طاهری من افتخار می کنم که با این محصول کار می کنم و این که از لحظه لحظه کار کردن با این محصول و کارم لذت می برم تشکر از همراهی شما پاسخ به دیدگاه