بهترین روش نگهداری داده های تغییرات جداول
سلام.
من میخوام تاریخچه تغییرات دیتابیس رو یه جایی نگه دارم که مثلا کاربر چه اطلاعاتی رو جدید وارد کرده یا چه تغییراتی رو روی فیلدها داده.
cdc رو دیدم اما باید برای گرفتن گزارش مدنظرم جداول رو join کنم و بعد هر تغییری روی جداول و view هام دادم برای history هم اعمال کنم. تازه یه viewer هم بنویسم.
اگر هم زمانی اشتباهی cdc غیرفعال بشه دیتاهای log شده از بین میره.
دوستانی که تجربه دارن چه روشی رو پیشنهاد می کنن؟
یکی از دوستان می گفت یا trigger بزار رو جداولت یا اینکه تو sp اطلاعات قبل و بعد از اپدیت رو در قالب html نگه دار و همونها رو نمایش بده.
به نظرتون بهترین روش چیه؟ خیلی کارم ضروریه. لطفا راهنمایی بفرمایید
نقل قول: بهترین روش نگهداری داده های تغییرات جداول
چرا انجمن غیرفعاله؟ کسی جواب میده؟
نقل قول: بهترین روش نگهداری داده های تغییرات جداول
نقل قول:
نوشته شده توسط
resident
سلام.
من میخوام تاریخچه تغییرات دیتابیس رو یه جایی نگه دارم که مثلا کاربر چه اطلاعاتی رو جدید وارد کرده یا چه تغییراتی رو روی فیلدها داده.
cdc رو دیدم اما باید برای گرفتن گزارش مدنظرم جداول رو join کنم و بعد هر تغییری روی جداول و view هام دادم برای history هم اعمال کنم. تازه یه viewer هم بنویسم.
اگر هم زمانی اشتباهی cdc غیرفعال بشه دیتاهای log شده از بین میره.
دوستانی که تجربه دارن چه روشی رو پیشنهاد می کنن؟
یکی از دوستان می گفت یا trigger بزار رو جداولت یا اینکه تو sp اطلاعات قبل و بعد از اپدیت رو در قالب html نگه دار و همونها رو نمایش بده.
به نظرتون بهترین روش چیه؟ خیلی کارم ضروریه. لطفا راهنمایی بفرمایید
تریگر راحت ترین حالت است.
نقل قول: بهترین روش نگهداری داده های تغییرات جداول
نقل قول:
نوشته شده توسط
fakhravari
تریگر راحت ترین حالت است.
جناب فخرآوری مشکل استفاده از تریگر اینه که Locking جدول رو می بره بالا.
یه روشی هم که دیدم یه فردی انجام داده بود این بود که رکورد قبل از آپدیت و بعد از آپدیت رو در حالت html ذخیره می کرد تو یه فیلد nvarchar و بعد فقط این رو نمایش میداد.
به نظرتون معایب این روش چیه؟
نقل قول: بهترین روش نگهداری داده های تغییرات جداول
نقل قول:
نوشته شده توسط
resident
جناب فخرآوری مشکل استفاده از تریگر اینه که Locking جدول رو می بره بالا.
یه روشی هم که دیدم یه فردی انجام داده بود این بود که رکورد قبل از آپدیت و بعد از آپدیت رو در حالت html ذخیره می کرد تو یه فیلد nvarchar و بعد فقط این رو نمایش میداد.
به نظرتون معایب این روش چیه؟
این قدرم که فکر میکنین سرعت نمیگیره.
باید حتما کل دیتای Old داشته باشید. نمیشه به صورت رشته به هم چسبیده باشه.
نقل قول: بهترین روش نگهداری داده های تغییرات جداول
به نظر من cdc چون lock نمیکنه و نیاز به کدنویسی و تغییرات تو دیتابیس نداریم و مدیریتش سمت خود sql server هست
برای از کار افتادنش هم باید یکم نظارت رو بیشتر کنید و دسترسی ها رو محدود کنید و همه کاربران به قسما sysadmin دسترسی نداشته باشن