بهار آموزش با تخفیف های شگفت انگیز توسینسو بهار آموزش با تخفیف های شگفت انگیز توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

فرق CDC , CT و audinting در SQL Server

با سلام

دوستان میدونید فرق

SQL Server - Change Tracking (CT)وChange Data Capture(CDC)وAuditing in SQL Server

چیه؟ من که واقعا گیج شدم!

پرسیده شده در 1394/10/23 توسط

5 پاسخ

2

با سلام خدمت شما

همونطور که دوست خوبمون حمید عزیز به این موضوع اشاره داشتند لازم می دونم کمی به تفصیل به این موضوع اشاره کنم.

همونطور که مستحضر هستید CDC قابلیتی است که از SQL 2008 به بعد در دسترس می باشد.

هدف از اضافه شدن این قابلیت بحث نگهداری تاریخچه ی تغییرات بود.(Insert , Delete , update)

در قبل از پیدایش این قابلیت برنامه نویسان از روش های همچون XML و یا جداول مجزای برای ذخیره سازی استفاده می کردند.

از طریق فعال کردن تریگر بر روی جدول.

نحوه کارکرد این CDC هم به این صورت است که فایلهایی که تغییر کرده را از طریق لاگ فایل خوانده و در جداولی که خودش ایجاد می کند ذخیره می کند.نوع مکانیزم دخیره سازی هم به صورت ASYNC است.

نکته 1 :اگر ستونی را حذف یا اضافه کنید دیگر فعالیت آن را بصورت پیش فرض لاگ نخواهد کرد.

نکته 2: در موقع استفاده از Replication باید حواستان به CDC باشد چون این دو با هم تداخل پیدا می کنند.

نکته 3:جدولتان باید دارای کلید باشد.

نکته 4: در جهت بهینه سازی هم میتونید این جداول CDC رو بر روی یک فایل گروپ دیگری نگه داری کنید.

-----------------

Change Tracking

هم برای ردیابی تغییرات دیتا ها است ولی برای Historical Data نمی تواند استفاده شود.

برای کوتاه شدن مطالب نوشته شده لطفا به این لینک مراجعه کنید .(بسیار واضح توضیح داده شده است)

---------------

Audit

به معنای حسابرسی است.

و تفاوتی که داره اینه که علاوه بر دستورات DML دستورات DDL رو هم میتونه لاگ کنه( Update Statistics ,Drop, Truncate, Create, Alter)

و در نهایت شما می تونید کل این تغییرات رو درون یک فایل ذخیره کنه و همینطور که اگر به هر دلیلی سرور شما نتوست فعالیت ها رو لاگ کنه می تونید مشخص کنید که سرور حتی خاموش بشه!

امیدوارام مفید واقع شده باشه چون هرکدومشون ریزه کاری های خاص خودش رو داره و باید بررسی کنید.

پاسخ در 1394/10/23 توسط
3

Change Tracking: قابلیتی است که برای یافتن داده های تغییر داده شده استفاده می شود این قابلیت داده ها را از روی Transaction Log می خواند و در جداولی از پیش ساخته شده ذخیره می کند و با چندین تابع مانند CHANGETABLE کار می کند

Change Data Capture: قابلیتی است که تغییرات بر روی داده ها را از روی Transaction Log به صورت مستقیم خوانده و جزییات تغییرات را در بر می گیرد.

Audit : در SQL Server دو نوع Server Audit و Database Audit وجود دارد که هر کدام عملیات دسترسی کاربران را در هر حوضه را ذخیره می کنند.

پاسخ در 1394/10/23 توسط
0

ممنون از پاسختون ولی من هنوز مشکل در فهم اینها دارم!!

پاسخ در 1394/10/23 توسط

پاسخ شما