خرید بک لینک

سلام به دوستان

خواندن log با استفاده از fn_dblog

نمونه مورد بررسی: چه کسی داده ها را پاک کرده است؟

در این مثال به دنبال آن هستم که یک نمونه از کار مستقیم باLog File دیتابیس را به شما نشان دهم.

می دانیم که تمام تراکنش های DDL و DML همگی در فایل Log ذخیره می شوند. این تراکنش ها ارزش زیادی دارند و با آنها کارهای زیادی می توان انجام داد. برخی از عملیات قابل انجام با استفاده از Log File به شرح زیر هستند:

· بازگردانی یک تراکنش مشخص

· بازگردانی کلیه تراکنش های ناتمام در زمان Startشدن سرویس DB Engine

· بازگردانی یک Database یا یک File یا File Group و یا حتی یک Page به زمان قبل از بروز خرابی

· امکان راه اندازی سرویس Replication از نوعTransactional

· امکان راه اندازی سرویس هایی نظیر Always ON availability groups یا Mirroring یا Log Shipping برای تحقق امکان high availability and disaster recovery (به عبارت دیگر برای همیشه برقرار نگه داشتن یک دیتابیس و بازگردانی آن در زمان خرابی)

همچنین وجود Log کاربردهایی نیز بطور خاص در حوزه BIدارد، نظیر:

· امکان راه اندازی سرویس های Change Tracking یا Change Data Capture برای خواندن تغییرات داده در یک بازه زمانی مشخص که کاربرد آن در لایه ETL از فرآیند BI است.

اما یکی از توابعی که با استفاده از آن می توان داده های ارزشمندی را از Log خواند تابع fn_dblog است. این تابع جزو توابع مستند نشده (Undocumented) محسوب می شود، این توابع بیشتر توسط خود ابزارهای مایکروسافت برای عملیات داخلی خود استفاده می شوند و اثری از آنها در مستندات مایکروسافت نیست، بعبارت دیگر مایکروسافت استفاده از این توابع را برای محیط عملیاتی هیچ جا پیشنهاد نکرده است و استفاده از آنها جزو خدمات پشتیبانی این شرکت نیز نیستند. ولی گاهی با استفاده از این توابع کارهای جالبی می توان انجام داد.

در این مثال قصد داریم باخواندن Log شناسایی کنیم که یک سطر حذف شده از یک جدول، توسط چه کاربری حذف شده است؟

لینک دانلود

#db_engine, #administration


برچسبها: db_engine, administration

برچسب: نویسنده: حامد نیکنام تاريخ: يکشنبه 14 آبان 1396 ساعت: 4:16

صفحه بندی