خانه SQL Server معرفی Ledger در SQL Server 2022 SQL Server امنیت SQL Server نوشته شده توسط: مسعود طاهری تاریخ انتشار: ۰۶ تیر ۱۴۰۲ آخرین بروزرسانی: ۲۷ خرداد ۱۴۰۳ زمان مطالعه: 4 دقیقه ۳.۹ (۷) Ledger در SQL Server 2022 یکی از قابلیتهای جدیدی که در Microsoft SQL Server 2022 معرفی شد و بهمعنای دفتر کل است. این ویژگی برای افزایش امنیت، مقاومت در برابر تغییرات داده و دقت بیشتر در سیستمهایی که دارای دادههای حساس هستند (مانند سیستم مالی، اتوماسیون اداری و…) طراحی شده است. SQL Server Ledger بهصورت یک جدول در Database ایجاد میشود که با استفاده از این ویژگی، سابقه هر عملیات، که برروی این نوع جداول در سیستم انجام شود، بهصورت خودکار ذخیره میشود. این ویژگی باعث میشود تا دادههای شما بهصورت دائمی و غیرقابل تغییر در Database ذخیره شود. Ledger بهصورت پیشفرض در SQL Server 2022 غیرفعال است و باید با دستورات SQL فعال شود. این ویژگی بهسادگی میتواند در سیستمهایی که نیاز به ذخیرهٔ دائمی و قابل اطمینان دارند، اضافه شود. با فعالسازی Ledger سیستم بهصورت خودکار تغییراتی را که در دادهها صورت میگیرد، بهطور مشخصی ثبت میکند و امکان بررسی و پیگیری این تغییرات برای کاربران سیستم فراهم میشود. همچنین، این ویژگی بهمعنای افزایش سطح اطمینان در سیستمهای اطلاعاتی است و به کنترل ورود و خروج دادهها از سیستم کمک میکند. Ledger در SQL Server 2022 چگونه کار می کند؟ در یک جدول Ledger در SQL Server 2022 هر سطری که توسط یک تراکنش اصلاح شده است، با استفاده از الگوریتم رمزنگاری SHA-256 بهصورت هش شده و با ساختار داده Merkle Tree، یک Root Hash ساخته میشود که تمام سطرهای Transaction را شامل است. استفاده از این روال باعث ایجاد یک زنجیره بلوک یا Blockchain میشود. Hash ریشه در Database Ledger که Database Digests (خلاصه بانک اطلاعاتی) نیز نامیده میشود، حاوی تراکنشهای Hash شده است و وضعیت پایگاه داده را نشان میدهد. میتوان آنها را بهطور دورهای در خارج از پایگاه داده در فضای ذخیرهسازی ضددستکاری، مانند: Azure Blob Storage Azure Confidential Ledger Write Once Read Many (WORM) تولید و ذخیره کرد. Database Digests بعداً برای تأیید یکپارچگی پایگاه داده با مقایسه مقدار Hash در پایگاه داده استفاده میشود. جداولی که از ویژگی Ledger در SQL Server 2022 پشتیبانی میکنند، به دو صورت معرفی میشوند: Updatable Ledger Table در این نوع جداول، شما اجازه دارید که دادههای موجود در جداول را حذف و بهروزرسانی کنید. Append-only Ledger Table در این نوع جداول، صرفاً میتوان داده در جدول اضافه کرد و اجازه هیچگونه تغییری برروی آن نمیشود. بررسی اولیه Updatable Ledger Table این نوع جداول در Ledger در SQL Server 2022 برای برنامههایی میتواند مفید واقع شود که در آن، علاوهبر درج رکورد انجام عملیات بهروزرسانی و حذف رکورد، از جدول وجود دارد زمانی که این نوع جداول را در پروژههای خود استفاده میکنید، یک جدول سابقه جداگانه ایجاد میشود که بهصورت خودکار، سوابق تغییرات رکوردها در آن ذخیره میشود. در طی استفاده از این ساختار، ما همیشه آخرین وضعیت رکوردها را در جدول اصلی و سوابق تغییرات رکوردها را در جدول History خواهیم داشت. بررسی اولیه Append-only Ledger Table این نوع جداول در Ledger در SQL Server 2022 برای برنامههایی میتواند مفید واقع شود که فقط در حالت درج رکورد هستند و انجام عملیات بهروزرسانی و حذف رکورد برای آنها معنی ندارد. از آنجایی که در این نوع جداول فقط مفهوم درج وجود دارد، بنابراین جدول History معنی ندارد. جمع بندی Ledger در SQL Server 2022 بهسادگی میتواند در سیستمهایی که نیاز به ذخیرهٔ دائمی و قابل اطمینان دارند، اضافه شود. این ویژگی به افزایش سطح اطمینان در سیستمهای اطلاعاتی و کنترل ورود و خروج دادهها از سیستم کمک میکند. در این مقاله جداولی که از ویژگی SQL Server Ledger پشتیبانی میکنند را مورد بررسی قرار دادیم که این جداول عبارتند از: Updatable Ledger Table Append-only Ledger Table چه رتبه ای میدهید؟ میانگین ۳.۹ / ۵. از مجموع ۷ اولین نفر باش معرفی نویسنده مقالات 20 مقاله توسط این نویسنده محصولات 65 دوره توسط این نویسنده مسعود طاهری مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ، مدیر فنی پروژههای هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دورههــای SQL Server و هوشتجاری در شرکت نیکآموز و نویسنده کتاب PolyBase در SQL Server معرفی محصول مسعود طاهری دوره آموزش امنیت در SQL Server 2022 7.000.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ زهرا ر ۲۳ / ۰۵ / ۰۲ - ۰۸:۵۱ ممنون از توضیحاتتون… این ویژگی در حقیقت برای ایجاد لاگ از رکوردهای یک جدول بکار میره درسته؟ من برای برخی جداول که میخواستم تغییراتش رو بدونم یه جدول لاگ متناظر با همون جدول ایجاد کردم و در تریگر،هر دیتایی که در جدول اصلی درج و جذف و آپدیت میشه در جدول لاگ متناظر هم رکوردی ثبت میکنم. با این ویژگی میتونم همون نتیجه ای که از کار خودم میگرفتم رو داشت باشم؟ پاسخ به دیدگاه