PDA

View Full Version : Change Data Capture in Sql Server



RK977877
چهارشنبه 17 شهریور 1395, 13:48 عصر
با سلام خدمت دوستان گرامی
در مورد CDC اگه بخواهیم اطلاعات (تاریخچه) را نگه داری کنیم و مدل دیتابیس از نوع Simple باشد اگر بعد از دو یا سه روز و یا بیشتر سیستم میتواند اطلاعات را در خودش نگه داری کند یا خیر ؟
ظاهرا یه سرویسه به نام sys.sp_MScdc_capture_job در اس کیو ال موجود است که همیشه اجرا بوده و تغییرات را در جدول نگه می دارد
حال با توجه به صحبت بالا چه اتفاقی می افتد ما نمیخواهیم دیتابیس در حالت Full باشد چون حجم دیتابیس بالا می رود

pezhvakco
یک شنبه 21 شهریور 1395, 18:36 عصر
CDC را میشه در همه حالت های Recovery Model اجرا و فواخوانی کرد.
برای استفاده از این قابلیت باید عامل (Sql Server (SQL Server Agent در حالت اجرا باشد.
در اصل CDC ویژگی در سطح جداول هست، در مرحله اول باید این قابلیت را برای بانک اطلاعاتی مد نظرمان فعال کنیم و سپس برای جداولی که می خواهیم سابقه تغییرات را روی آنها در آن پایگاه داده نگهداری کنیم، این امکان را فعال می کنیم.

هنگامی که CDC را برای یک جدول اجرا می کنیم Job هایی در SQL Agent اجرا میشوند و
این Job ها برای انجام عملیات CDC، روال های داخلی مرتبط را با CDC را فراخوانی می کنند. روال های همچون:
sys.sp_MScdc_capture_job، sys.sp_MScdc_cleanup_job و ...