رادکام
در مقاله امروز رادکام، به بررسی قابلیت کمتر شناختهشدهای از SQL Server میپردازیم که نگهداری لاگ در اپلیکیشن را سادهتر میکند.
CDC یا Change Data Capture پس از فعالسازی، هر تغییر صورت گرفته اعم از insert، update یا delete بر جداول منتخب را در جدولهای مخصوص خود نگهداری میکند.
طرز کار CDC به این صورت است که از لاگ تراکنشها (Transaction) تغذیه میکند. به همین علت بسته به بار پردازشی که بر دیتابیس و سرور وجود دارد، حداقل تأخیر در حدود 4 یا 5 ثانیه در منعکس کردن این تغییرات در جداول مخصوص CDC مشاهده میشود.
با اجرای دستور فعالسازی CDC، دو job ایجاد میشود:
Capture job: وظیفه جمعآوری اطلاعات را بر عهده دارد.
Clean up job: وظیفه حذف رکوردهای قدیمی را بر عهده دارد.
پیش از فعال کردن، باید SQL Server Agent در حال اجرا باشد.
قبل از هر چیزی، باید CDC در سطح دیتابیس فعال شود (اگر پیشازاین فعالسازی را انجام نداده باشید). این کار از طریق Stored Procedure به نام sys.sp_cdc_enable_db انجام میشود:
execute sys.sp_cdc_enable_db
سپس به کمک stored procedure تحت عنوان sys.sp_cdc_enable_table میتوان CDC را برای جداول موردنظر فعال کرد. به این صورت:
EXECUTE sys.sp_cdc_enable_table
@source_schema = N'SCHEMA_NAME'
, @source_name = N'TABLE_NAME'
, @role_name = N'cdc_Admin';
GO
پس از اجرای این دستور در دیتابیس شما مشابه تصویر زیر در قسمت system tables جداولی با شمای cdc ایجاد میشود.
در قسمت بعدی، به بررسی جداول ایجادشده و نحوه استفاده از آنها میپردازیم.
4,253بازدید
دیدگاه کاربران
هنوز دیدگاهی ثبت نشده است.
شما میتوانید درباره این مقاله، دیدگاه خود را ثبت کنید.