فعال سازی CDC در سطح دیتابیس
CDC یا همان CHANGE DATA CAPTURE در SSIS یکی از مفاهیم هوش تجاری و کامپوننت های محیط SSIS می باشد.
قابلیت CDC برای به روز رسانی جداول فکت در انباره داده استفاده می شود. البته کاربردهای دیگری مانند Auditing نیز دارد.
برای استفاده از قابلیت CDC، ابتدا باید این قابلیت را در سطح دیتابیس و سپس در سطح جداول مورد نظر فعال کنیم. در این آموزش قصد داریم تا نحوه فعال سازی CDC در سطح دیتابیس را آموزش دهیم.
برای فعال سازی CDC در سطح دیتابیس ابتدا باید وارد محیط SSMS یا همان SQL SERVER MANAGEMENT STUDIO و سپس به دیتابیس مورد نظر متصل شویم. روی گزینه New Query کلیک می کنیم و در صفحه باز شده کد زیر را وارد می کنیم.
USE MyDatabase
GO
EXEC sys.sp_cdc_enable_db
GO
در عبارت بالا به جای نام MyDatabase، نام دیتابیس مورد نظر را می نویسیم و سپس گزینه Execute را جهت اجرای کد بالا میزنیم تا CDC در سطح دیتابیس فعال شود. ممکن است اجرای کد با خطایی مشابه خطای زیر مواجه شود.
‘Cannot execute as the database principal because the principal “dbo” does not exist, this type of principal cannot be impersonated, or you do not have permission.’. Use the action and error to determine the cause of the failure and resubmit the request.
برای رفع این خطا نیاز است قبل از اجرای کد بالا، کد زیر را اجرا کنیم.
sp_changedbowner ‘sa’
پس از اجرای کد بالا، کد اصلی را اجرا می کنیم. در صورتی که مراحل بالا را به درستی انجام داده باشید، پس از اجرای کد اصلی پیغام ‘Commands completed successfully’ را مشاهده می کنید که به منزله فعال شدن CDC روی دیتابیس مورد نظر می باشد.
در مطلب آموزشی بعدی نحوه فعال سازی CDC در سطح جداول را آموزش می دهیم.
با ما همراه باشید.