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

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

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

گروه تبادل نظر:
https://xn--r1a.website/+uIc1qhv58gU0NWQ0
Download Telegram
یکی از مسائلی که در خیلی از SQL Server ها میبینم این هست که دوستان میان یک جاب تعریف می کنند برای Shrink Log . میشه بپرسم چرا؟
باور کنید این تفکر غلطیه اگر در هر دوره یا کلاسی این رو یاد گرفتین.
اگر Recovery Model دیتابیس شما Full هست و براساس میزان تراکنش ها مرتب ازش Log Backup بگیرید و همچنین سایز اولیه فایل رو درست تعریف کنید خیلی به ندرت پیش میاد که فایل شما رشد کنه. اونم برای زمانی هست که یک تراکنش خیلی بزرگی در سیستم شما درج بشه یا تغییرات عجیب غریبی رخ بده که در اون فضای خالی فایل Log شما قرار نگیره و مجبور به رشد باشه.
یکی از دلایل کندی دیتابیسهاتون میتونه همین مساله باشه.
حالا بیاین با یک مثال بهتون شرح بدم چه بلایی دارید سر SQL Server و OS میارید و مطمئن باشید در پل صراط ، یقه شمارو این دو بزرگوار خواهند گرفت 😁
فرض کنید شما یک پولی رو دادین به یکی که باهاش کار کنه و شما هم از سودش منتفع بشین. خوب تا اینجاش خیلی هم عالیه خوش به حالتون 😅
چالش اینجاست که عصر همون روز میگین شرمنده میشه پولمو بدین من پول کم آوردم. خوب اون بنده خدا هم میگه باشه بیا و واریز می کنه.
دوباره یک ساعت بعد میگین خوب بیا داداش این همون پوله ولی من تیکه تیکه (میزان رشد فایل) بهت این پول رو میدم. میگه باشه چیکار کنیم قبول.
دوباره عصر فردا میشه باز میگین ببخشید میشه پولمو پس بدی من دوباره پول کم اوردم( جبران کمبود فضای دیسک با شرینک کردن فایل لاگ) به محض اینکه پول رو گرفتی دوباره میگی من تا فردا تیکه تیکه بهت این پول رو میدم و این داستان هر روز ادامه داره.
به نظرتون اون شخص با شما چه برخوردی میکنه؟ چی میگه بهتون؟
آفرین ،‌دقیقا OS هم همین حرفهارو بهتون میزنه ولی چون ما توانایی شنیدنش رو نداریم به این رفتار زشت ادامه میدیم.
حالا در این پس دادن فضاو دوباره گرفتن فضا ، تمام دستورات شما باید منتظر بمونه تافضای کافی برای نوشتن داشته باشه و این میشه که وقتی سیستم شلوغه میزان فحش برثانیه به سیستم عزیز شما افزایش پیدا می کنه.
حالا برای اینکه این میزان فحش برثانیه رو کم کنید از همین الان برید این جاب رو کلا حذف کنید و با مدیریت درست لاگ بکاپ و همچنین تنظیم یک فضای اولیه برای این فایل برای همیشه از شر این Shrink کردن های روزانه خلاص بشین.

باشد که رستگار شویم و کمتر فحش بخوریم. 😁

#log_Backup
#TransactionLog
#Shrink
👍28😁63👏3
سلام دوستان

📉 Shrink در SQL Server به روایت یک فضای کار اشتراکی!

فرض کن یکی میره یه فضای کار اشتراکی 🏢
اوایل کارش کوچیکه، یه میز اشتراکی می‌گیره.
کم‌کم کارش می‌گیره 📈، میگه «نه، من یه اتاق می‌خوام» 🚪
اتاق رو می‌گیره، کارش راه می‌افته، همه چی خوبه 😌
فرداش چی؟
میگه «نه بابا، الان اتاق زیادیه»
اتاق رو پس میده، برمی‌گرده میز اشتراکی 😐
عصر دوباره کار زیاد میشه:
«بچه‌ها اتاق بدین!»
دوباره اتاق می‌گیره…
پس میده…
می‌گیره…
پس میده… 🤦‍♂️
حالا صاحب فضای کار اشتراکی کلافه نشده؟
دیوارها جابه‌جا نمی‌شن؟
نظم فضا به هم نمی‌ریزه؟ 😵
📌 Shrink توی SQL Server دقیقاً همینه!
دیتابیس رشد می‌کنه 📊
شما Shrink می‌کنی چون «فضا خالیه»
دوباره دیتا میاد، دوباره رشد می‌کنه
دوباره Shrink
نتیجه؟
Fragmentation شدید 🧩
فشار بی‌خودی به IO 💥
بدتر شدن Performance 🐌
📢 Shrink یعنی پس گرفتن فضا، نه مدیریت فضا!
Shrink برای شرایط خاصه:
بعد از حذف دائمی حجم عظیمی از دیتا
وقتی مطمئنی دیگه به اون فضا نیاز نداری
نه برای اینکه:
هر هفته دیسک خالی ببینی
یا وجدان DBA‌ت آروم بشه 😄

و این مساله هم برای فایل LDF صدق می کنه هم MDF.

بارها توی همه Job ها من Job برای Shrink دیدم و ایجاد Fragmentation بر روی LDF ها.


🎯 نتیجه:
به جای این همه «اتاق پس بده، اتاق بگیر»
یه فضای مناسب بگیر، درست استفاده کن،
و بگذار دیتابیس با آرامش رشد کنه
و برای کنترل LDF هم تهیه بکاپ منظم از Log ها به این مساله به شدت کمک می کنه.🧘‍♂️
hashtag#SQLServer hashtag#DBA hashtag#Shrink hashtag#Performance hashtag#DatabaseLife hashtag#طنز_فنی 😄
👍16👌6🙏2🤨21