SQL Server
3.91K subscribers
19 photos
7 videos
36 files
168 links
حمید رضا صادقیان

🔴طراح‌ومشاوربانک های اطلاعاتیSQLSERVER
⚫️مدرس دوره های آموزشیDatabase

ارتباط با من:
@Hamidreza_Sadeghian

گروه تبادل نظر:
https://t.me/+uIc1qhv58gU0NWQ0
Download Telegram
سلام و عرض ادب خدمت دوستان گرامی
امیدوارم حالتون خوب باشه
اگر در جایی مشغول به فعالیت هستید که AlwaysON راه اندازی شده باشه ، ممکنه این سناریو براتون رخ بده
فرض کنید دوتا سرور دارید که بر روی اون AlwaysON راه اندازی کردین و این ها به صورت Synchronous هستند .
حالا سرور دوم از کار افتاده و عملا سبب شده فایل لاگ شما داره به شدت رشد میکنه.
اگر در این حالت دستور زیر رو اجرا کنید.
select name,log_reuse_wait_desc from sys.databases
ملاحظه خواهید کرد که در Wait ها نوشته Availability_group . در این حالت اگر شما بیاین دیتابیس رو از Availability_Group خارج کنید مشکلی که پیش میاد بهتون خطا میده که Chain در فایل LOG با MDF همخوانی نداره و به نظر میاد دیتابیس شما به مشکل خورده و نه میشه ازش Backup تهیه کرد نه دستورات DBCC اجرا میشه و اگر دیتابیس رو Detach کنید با مشکلات عدیده ای مواجه خواهید شد.
راه حل اول : اینکه ارتباط سرور دوم رو برقرار کنید تا لاگها ارسال شده و این مشکل حل بشه
راه حل دوم : تغییر مد Replica از Synchronous به Asynchronous که سبب میشه این Wait به Log_Backup تبدیل بشه که به راحتی با یک Log Backup مشکل فضای شما حل میشه و مساله ای نخواهید داشت.
اگر اشتباها اومدین دیتابیس رو از Availability group حذف کردین راهش این هست که با استفاده از کد زیر:
use Master
Go
ALTER AVAILABILITY GROUP MyAG ADD DATABASE YourDB;
GO
دیتابیس رو سوری به AlwaysON اضافه کنید و مراحل بالا رو طی کنید.

امیدوارم این نکته مفید واقع شده باشه.
ارادتمند شما
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server

#Log_FIle #LDF #LOG_Growth #AlwaysON #Availability_GROUP #Log_Backup