سلام و عرض ادب خدمت دوستان گرامی
امیدوارم حالتون خوب باشه
اگر در جایی مشغول به فعالیت هستید که 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
امیدوارم حالتون خوب باشه
اگر در جایی مشغول به فعالیت هستید که 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
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که هرشخصی که در حوزه ادمین میخواد فعالیت کنه این هست که بتونه راهکارهای مناسب برای در دسترس بودن بانکهای اطلاعاتی ارائه بده.
خوب بیایم باهم یک سناریو رو بررسی کنیم:
نیازمندی های مسئله این هست:
- 50 سرور دیتابیس
- حدود 400 دیتابیس
- نسخه های SQL Server از 2008 تا 2019
- حجم کل اطلاعات 10 ترابایت
سه سایت که ارتباط شبکه ای بین آنها خوبه. دوتا در تهران و یکی در شهرستان هست.
خوب ما می خواهیم برای این راهکار HA ارائه بدیم.
اولا چه مسائلی رو بررسی می کنید برای راه اندازی HA؟
دوم اینکه چه راهکارهایی رو می تونید ارائه بدین؟
منتظر راهکارهای خوب شما هستم.
شاد و خلاق باشین
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#HA
#سوال
#Alwayson
#Availability_Group
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که هرشخصی که در حوزه ادمین میخواد فعالیت کنه این هست که بتونه راهکارهای مناسب برای در دسترس بودن بانکهای اطلاعاتی ارائه بده.
خوب بیایم باهم یک سناریو رو بررسی کنیم:
نیازمندی های مسئله این هست:
- 50 سرور دیتابیس
- حدود 400 دیتابیس
- نسخه های SQL Server از 2008 تا 2019
- حجم کل اطلاعات 10 ترابایت
سه سایت که ارتباط شبکه ای بین آنها خوبه. دوتا در تهران و یکی در شهرستان هست.
خوب ما می خواهیم برای این راهکار HA ارائه بدیم.
اولا چه مسائلی رو بررسی می کنید برای راه اندازی HA؟
دوم اینکه چه راهکارهایی رو می تونید ارائه بدین؟
منتظر راهکارهای خوب شما هستم.
شاد و خلاق باشین
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#HA
#سوال
#Alwayson
#Availability_Group
🤔10👍3😁3❤1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه.
در خصوص سوالی که مطرح کردم برای ارائه راهکار.
نکته اول این هست که باید ببینیم آیا امکان ارتقای دیتابیس ها به یک نسخه مشترک هست یا خیر.
نکته دوم این هست که میزان RTO ,RPO برای دیتابیس های مختلف به چه صورت است؟
منظور از RTO همان Recovery Time Objective هست. یعنی زمانی که یک Disaster رخ می دهد ، چقدر میتوان Downtime داشت که آسیبی به کسب و کار نخورد. ممکن است برای بعضی از دیتابیس ها این عدد خیلی بالا باشه ممکنه برای بعضی از دیتابیس ها بسیار کم باشه. مثلا ممکنه برای بعضی در هفته ۵ ساعت باشه. ولی برای بعضی در سال ۲ ساعت باشه.
براساس اینها شما تصمیم میگیرید که برای دیتابیس فوق چه استراتژی تهیه کنید و در چه دسته ای قرار بدین.
منظور از RPO همان Recovery Point Objective هست.
یعنی اینکه در زمانی که یک Disaster رخ داد. چه مقداری از داده های دیتابیس مورد نظر از بین برود، آسیب جدی به کسب و کار نمیخورد و میتواند به کار خود ادامه دهد و آنرا دچار مشکل نمی کند.
ممکن است بعضی از دیتابیس ها تا یک هفته داده های آن از بین بروند اهمیتی نداشته باشند ولی ممکن است یک دیتابیس مثل سیستمهای بانکی حتی یک رکورد هم امکان از بین رفتن ندارد.
نکته سوم اندازه گیری وضعیت فعلی سرورها و میزان استفاده از منابع توسط هر دیتابیس و در هر سرور هست.
خوب حالا که این موارد مشخص شد. میتوانید راهکار ارائه بدین.
براساس اینها متوجه خواهید شد چند تا سرور نیاز دارید.
چند تا Instance نیاز دارید
بر روی هر Instance چند تا دیتابیس می تونید قرار بدین.
درسته که در هر Instance شما میتونید ۳۲۷۶۶ دیتابیس ایجاد کنید. زیرا Database_ID نوعش از نوع Smallint هست و چون یک دیتابیس مخفی به نام MSSQLResource نیز وجود دارد پس ۳۲۷۶۶ دیتابیس بیشتر نمیتونید بر روی یک Instance داشته باشین.
ولی بهتره بیش از ۱۰ ٪ حداکثر مقادیری که مایکروسافت برای هرچیزی تعیین کرده تعدی نکنید. مثلا برای دیتابیس ها اگر از ۳۲۷۶ عدد بر روی یک Instance فراتر رفتید ، این ممکنه یک نشونه طراحی بد دیتابیس ها باشه. ( البته این یک قانون همیشگی نیست و میتونه نقض هم بشه)
ادامش رو در پست های بعدی بهش اشاره می کنم.
شاد باشین و شکرگزار. ☺️☺️
ارادتمند شما
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#HA
#DR
#Availability_Group
#AlwaysON
امیدوارم حالتون عالی عالی باشه.
در خصوص سوالی که مطرح کردم برای ارائه راهکار.
نکته اول این هست که باید ببینیم آیا امکان ارتقای دیتابیس ها به یک نسخه مشترک هست یا خیر.
نکته دوم این هست که میزان RTO ,RPO برای دیتابیس های مختلف به چه صورت است؟
منظور از RTO همان Recovery Time Objective هست. یعنی زمانی که یک Disaster رخ می دهد ، چقدر میتوان Downtime داشت که آسیبی به کسب و کار نخورد. ممکن است برای بعضی از دیتابیس ها این عدد خیلی بالا باشه ممکنه برای بعضی از دیتابیس ها بسیار کم باشه. مثلا ممکنه برای بعضی در هفته ۵ ساعت باشه. ولی برای بعضی در سال ۲ ساعت باشه.
براساس اینها شما تصمیم میگیرید که برای دیتابیس فوق چه استراتژی تهیه کنید و در چه دسته ای قرار بدین.
منظور از RPO همان Recovery Point Objective هست.
یعنی اینکه در زمانی که یک Disaster رخ داد. چه مقداری از داده های دیتابیس مورد نظر از بین برود، آسیب جدی به کسب و کار نمیخورد و میتواند به کار خود ادامه دهد و آنرا دچار مشکل نمی کند.
ممکن است بعضی از دیتابیس ها تا یک هفته داده های آن از بین بروند اهمیتی نداشته باشند ولی ممکن است یک دیتابیس مثل سیستمهای بانکی حتی یک رکورد هم امکان از بین رفتن ندارد.
نکته سوم اندازه گیری وضعیت فعلی سرورها و میزان استفاده از منابع توسط هر دیتابیس و در هر سرور هست.
خوب حالا که این موارد مشخص شد. میتوانید راهکار ارائه بدین.
براساس اینها متوجه خواهید شد چند تا سرور نیاز دارید.
چند تا Instance نیاز دارید
بر روی هر Instance چند تا دیتابیس می تونید قرار بدین.
درسته که در هر Instance شما میتونید ۳۲۷۶۶ دیتابیس ایجاد کنید. زیرا Database_ID نوعش از نوع Smallint هست و چون یک دیتابیس مخفی به نام MSSQLResource نیز وجود دارد پس ۳۲۷۶۶ دیتابیس بیشتر نمیتونید بر روی یک Instance داشته باشین.
ولی بهتره بیش از ۱۰ ٪ حداکثر مقادیری که مایکروسافت برای هرچیزی تعیین کرده تعدی نکنید. مثلا برای دیتابیس ها اگر از ۳۲۷۶ عدد بر روی یک Instance فراتر رفتید ، این ممکنه یک نشونه طراحی بد دیتابیس ها باشه. ( البته این یک قانون همیشگی نیست و میتونه نقض هم بشه)
ادامش رو در پست های بعدی بهش اشاره می کنم.
شاد باشین و شکرگزار. ☺️☺️
ارادتمند شما
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#HA
#DR
#Availability_Group
#AlwaysON
👍37❤2🔥1