در یکی از پروژههایی که در آن مشغول بودم، با یک مشکل جالب روبرو شدم. پایگاه داده msdb یکی از مشتریان به طور ناگهانی بزرگ شده بود. بعد از بررسی دقیق، فهمیدم که دلیلش تاریخچهی طولانی از عملیات پشتیبانگیری بود که مشتری فراموش کرده بود پاکش کند. این باعث شده بود که پایگاه داده بیش از حد بزرگ شود و عملکرد آن را کند کند. اما خوشبختانه، با استفاده از الگوریتمهای مناسب، ما یک راه حل جالب برای حل این مشکل پیدا کردیم. با حذف تاریخچه پشتیبانگیری بر اساس زمان و پایگاه دادههای خاص، ما مشکل را با موفقیت حل کردیم. در این پست وبلاگ، میخواهیم با شما در مورد روشهای بازیابی فضا و بهبود عملکرد پایگاه داده صحبت کنیم. پس با ما همراه باشید و از این فرصت برای یادگیری استفاده کنید.
مشکل پایگاه داده مشتری این بود که پایگاه داده msdb به دلیل تجمع تاریخچه پشتیبان گیری بسیار بزرگ شده بود. این باعث کاهش فضای ارزشمند و کاهش عملکرد سیستم شده بود. برای حل این مشکل، دو راه حل انتخاب کردیم.
راه حل اول، حذف تمام تاریخچه پشتیبان گیری بیشتر از ۹۰ روز پیش بود. این کار باعث حذف ورودی هایی شد که برای عملیات مشتری دیگر ضروری نبودند و فضای ارزشمندی را آزاد کرد. این کار باعث بهبود مدیریت تاریخچه پشتیبان گیری شد.
راه حل دوم، حذف انتخابی تاریخچه پشتیبان گیری برای پایگاه داده های غیرضروری بود. این کار باعث حفظ رکوردهای پشتیبان گیری حیاتی برای پایگاه داده های مهم شد و ورودی های غیرضروری برای پایگاه داده های کمتر حیاتی حذف شدند.
با این دو راه حل، مشکلات پایگاه داده مشتری حل شدند و فضای ارزشمندی آزاد شد. این کار باعث بهبود عملکرد سیستم شد و به مشتری کمک کرد تا بهترین استفاده را از پایگاه داده خود ببرد.
اسکریپت زیر نشان می دهد که چگونه ما این کار را انجام دادیم:
USE msdb; GO EXEC sp_delete_backuphistory @oldest_date = '11/15/2022'; USE msdb; GO EXEC sp_delete_database_backuphistory @database_name = 'YourDBName';
تأثیر بر جداول
برای بهتر درک کردن، باید بدانیم که کدام جداول از این عملیاتها تحت تأثیر قرار میگیرند. فرآیندهای sp_delete_backuphistory و sp_delete_database_backuphistory، جداول زیر را تغییر میدهند:
backupfile
backupfilegroup
backupmediafamily
backupmediaset
backupset
restorefile
restorefilegroup
restorehistory
با پاک کردن تاریخچه پشتیبانگیری و بازیابی در این جداول، ما توانستیم حجم پایگاه داده msdb را به شدت کاهش داده و عملکرد آن را بهبود ببخشیم.
مزایای یک پایگاه داده کم حجم
با تنظیم مناسب تاریخچه پشتیبانگیری، پایگاه داده msdb مشتری بهبود یافت و حجم آن کاهش یافت. این باعث شد که عملکرد پایگاه داده بهبود یابد و پشتیبانگیری و بازیابی سریعتر انجام شود. همچنین، تاریخچه پشتیبانی سادهتر شده و به مدیران کمک میکند تا با سرعت به اطلاعات مورد نیاز خود دسترسی پیدا کنند.
اهمیت نگهداری
این سناریو نشان میدهد که چقدر نگهداری منظم برای جلوگیری از بزرگ شدن پایگاه داده مهم است. با پاک کردن دورهای تاریخچه پشتیبانگیری، سازمانها میتوانند از مصرف منابع غیرضروری جلوگیری کنند و محیط پایگاه داده سالمتری را حفظ کنند. اجرای وظایف پاکسازی زمانبندی شده، همراه با حذف دورهای اطلاعات، مطمئن میکند که پایگاه داده بهینه شده و به روز نگهداشته میشود بدون اینکه رکوردهای پشتیبانی مهم حذف شوند.
نتیجهگیری
در دنیای مدیریت پایگاه داده، نادیده گرفتن پاک کردن تاریخچه پشتیبانگیری میتواند منجر به بزرگ شدن پایگاه داده و عملکرد نامناسب آن شود. با استفاده از ابزارهای قدرتمند sp_delete_backuphistory و sp_delete_database_backuphistory، مدیران میتوانند کنترلی بر تاریخچه پشتیبانگیری خود داشته باشند و فضای ارزشمندی را به دست آورند. این فرآیند نهتنها عملکرد را بهبود میبخشد، بلکه کارآیی را افزایش میدهد و مدیریت پایگاه داده را سادهتر میکند. بهخاطر داشته باشید، پایگاه دادهای کم حجم، پایگاه دادهای سالم است! امیدوارم این مطلب درباره بازیابی فضا و عملکرد: تاریخچه پشتیبانی پایگاه داده را لذت برده باشید.