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

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

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

گروه تبادل نظر:
https://t.me/+uIc1qhv58gU0NWQ0
Download Telegram
اگه برای پولدار شدن، اول باید پولدار باشی چی؟! 🤔😂
نه، اشتباه تایپی نکردم!
امروز از مربی عزیزم یک فیلم می‌دیدم که بحثش دقیقاً همین بود:
بودن، انجام دادن و داشتن.
ما معمولاً این‌طوری فکر می‌کنیم:
اول باید داشته باشم ➡️
بعد باهاش یک کاری انجام بدم ➡️
بعد به یک احساسی برسم.
مثلاً:
«اگه یه هواپیمای شخصی داشته باشم، می‌تونم هر وقت دلم خواست برم سفر و تفریح، اون‌وقت خیلی خوشحال و راضی می‌شم.» ✈️😎
یا:
«اگه پول بیشتری داشته باشم، خیالم راحت می‌شه و احساس ثروتمند بودن می‌کنم.» 💰
ولی یک سؤال جالب مطرح شد:
نکنه مسیر برعکس باشه؟ 🤔
یعنی اول اون چیزی که می‌خوای احساس کنی رو در خودت ایجاد کنی.
بعد بر اساس اون احساس، رفتار کنی.
و در نهایت، اون «داشتن» هم کم‌کم شکل بگیره.
مثلاً اگر می‌خوای ثروتمند باشی، از خودت بپرسی:
اگر واقعاً ثروتمند بودم،
چطور فکر می‌کردم؟
چطور تصمیم می‌گرفتم؟
چطور با آدم‌ها حرف می‌زدم؟
چطور ریسک می‌کردم؟
چطور فرصت‌ها رو می‌دیدم؟
حالا یک مثال بامزه‌تر:
فرض کنید یک سرمایه‌گذار اتفاقی به پست شما بخوره و بگه:
«من برای ایده‌ات سرمایه‌گذاری می‌کنم.» 😎💰
به نظرت از نوشته و رفتارت چه چیزی باید بگیره؟
حس غنی بودن؟
یا:
«داداش فقط یه سرمایه‌گذار پیدا بشه، زندگیم درست می‌شه!» 😂
شاید ما خیلی وقت‌ها منتظریم چیزی را داشته باشیم تا تبدیل به آدمی بشیم که می‌خوایم باشیم.
در حالی که شاید باید اول اون آدم بشیم تا بعضی از اون چیزها وارد زندگیمون بشن.
من خودم تجربه‌های مختلفی از این موضوع داشتم و جالب اینجاست که یکی دیگه از استادهای عزیزم هم سال‌ها قبل تقریباً همین مفهوم رو به شکل دیگه‌ای بهم گفته بود.
و راستش هر بار که تجربه‌اش کردم، بیشتر بهش فکر کردم.
شاید سؤال درست این نباشه که:
«چی می‌خوام داشته باشم؟»
بلکه این باشه:
«وقتی به چیزی که می‌خوام رسیدم، قرارِ چه آدمی باشم و چه حسی داشته باشم؟»
و بعد...
از همین امروز همون آدم باشم. 🎯
حالا کنجکاوم بدونم شما چی فکر می‌کنید؟ 👇
تا حالا شده اول «حس و حالِ داشتنِ یک چیز» رو در خودتون ایجاد کنید و بعد خود اون اتفاق بیفته؟
یا کلاً می‌گید:
«نه داداش، اول هواپیما رو بده، بعد درباره حسش صحبت می‌کنیم!» 😂✈️
👍15❤1👏1🤡1
یه تصمیم گرفتم...
می‌خوام هفته‌ای ۱۰ ساعت از وقتم رو بفروشم! 😂
البته نه به بالاترین پیشنهاد!
به جالب‌ترین مسئله‌ای که ارزش حل کردن داشته باشه. 😎
این روزها خیلی از شرکت‌ها و سازمان‌ها کلی آدم، کلی سیستم و کلی داده دارن؛
ولی بعضی وقت‌ها یک مشکل ساده باعث میشه همه‌چیز قفل بشه.
مثلاً:
🔹 دیتابیس داریم، ولی وقتی سیستم کند میشه کسی دقیق نمی‌دونه مشکل کجاست.
🔹 BI داریم، ولی هنوز برای تصمیم‌گیری باید از چند نفر بپرسیم «به نظرتون چی کار کنیم؟» 😄
🔹 تیم فنی داریم، ولی تیم بیشتر داره «کار انجام میده» تا اینکه واقعاً «مسئله حل کنه».
🔹 سرویس داریم، ولی مشتری تجربه خوبی ازش نداره.
🔹 یا اصلاً سازمانی داریم که احساس می‌کنه باید یک تغییر جدی ایجاد کنه، ولی نمی‌دونه از کجا شروع کنه.
من تصمیم گرفتم هفته‌ای ۱۰ ساعت از وقتم رو اختصاص بدم به چنین مسئله‌هایی.
حوزه‌هایی که می‌تونم کنارتون باشم:
🧠 معماری و سیستم‌های داده
⚙️ SQL Server و Performance Tuning
📊 BI و Data Strategy
👥 تیم‌سازی و ساختار تیم‌های فنی
🚀 محصول و سرویس
🎯 Service Design و حل مسئله

قرار نیست بیام چندتا اسلاید درست کنم، تحویل بدم و برم! 😁
ترجیح میدم کنار تیم باشم، مسئله رو بفهمیم، ریشه‌ش رو پیدا کنیم و ببینیم واقعاً چه کاری میشه براش کرد.
پس اگر توی شرکت یا سازمانتون یک مسئله جدی دارید که مدت‌هاست کسی نتونسته درست حلش کنه...
شاید همون مسئله‌ای باشه که من دنبالشم. 😉
📩 اگر فکر می‌کنید می‌تونیم کنار هم کاری کنیم، بهم پیام بدید.
و یک سؤال هم از شما:
اگر قرار بود فقط ۱۰ ساعت در هفته وقت داشته باشید و بخواید با شرکت‌ها کار کنید، روی چه مسئله‌ای تمرکز می‌کردید؟
کنجکاوم بدونم 👇
❤11👍1
زنگ زدم به مدیر دیتابیس یه شرکت بزرگ!!! 😐
دارم باهاش در مورد HA و Always On صحبت می‌کنم، طرف برگشته میگه:
«Always On رو چطوری راه‌اندازی می‌کنید؟ با Replica Log انجام ندین‌ها!»
😐😐😐
بعضیا هم میان میگن Always On رو با Log Shipping انجام بدین!
داداش... یه لحظه وایسا! 😂
Replication یه تکنولوژیه.
Log Shipping یه تکنولوژیه.
Always On Availability Group هم یه تکنولوژیه.
این‌ها سه تا چیز متفاوتن که هر کدوم برای یک سناریو و یک نیاز طراحی شدن.
اینکه همه‌شون یه جوری داده رو از یه جا به یه جای دیگه منتقل می‌کنن، دلیل نمیشه یکی باشن! 😂
اول اینکه Log Shipping نمیاد Always On رو راه‌اندازی کنه.
دوم اینکه Replication هم جایگزین Always On برای HA نیست.
ممکنه توی یک معماری حتی چندتاشون کنار هم استفاده بشن، ولی مکانیزم و هدفشون یکی نیست.
حالا سؤال من اینه:
چطور میشه مسئول معماری و مدیریت دیتابیس یک سازمان بزرگ باشی، ولی هنوز تفاوت این مفاهیم پایه رو ندونی؟ 🤦‍♂️
واقعاً از توی لپ‌لپ پیداتون می‌کنن؟ 😂
طرف مثلاً با UI یه Backup بگیره، چندتا Job بسازه، بعد بشه Database Manager؟!
مدیریت دیتابیس فقط این نیست که بدونی کدوم دکمه رو کجا بزنی.
DBA واقعی باید بدونه:
چرا این تکنولوژی رو انتخاب می‌کنه؟
چه Trade-offهایی داره؟
کجا باید ازش استفاده کنه؟
و مهم‌تر از همه، کجا نباید استفاده کنه؟
چون وقتی پای HA و DR وسطه،
دیگه بحث فقط SQL Server نیست...
بحث معماریه.
حالا شما بگید:
تا حالا با چه تصمیم معماری عجیبی توی SQL Server برخورد کردید که با خودتون گفتید:
«واقعاً کی اینو طراحی کرده؟! 😂»
❤18👌6🤷‍♂1🔥1😱1
سلام عزیزان
مورفین دیتابیس ، NOLOCK؛ ! 💊😈
مشتری زنگ می‌زنه:
«سیستم کنده! گیر می‌کنه!»
تیم فنی بررسی می‌کنه:
ای وای ، Blocking داریم، Deadlock داریم.
میتی‌کمان وارد میشه. 🦸‍♂️
میگه:
«جلوی همه جدول‌ها WITH (NOLOCK) بذارید.» 😎
و بعد Deploy...
🚀 سیستم سریع میشه
😍 مشتری راضی
😌 تیم فنی نفس راحت
چند روز بعد:
«بچه‌ها چرا گزارش‌ها با هم نمی‌خونه؟»
«موجودی‌هامون خرابه!»
«این عددها از کجا اومده؟!» 😐
و تیم فنی:
میره توی دیوار! 😂
چون NOLOCK یعنی:
من منتظر نمی‌مونم! هرچی هست بخون! حتی اگه هنوز وسط تغییر باشه! 🤦‍♂️
مثل بچه‌ای که میره سر ماهیتابه‌ای که مادرش برای مهمونی درست کرده و میگه:
«فقط یکی برمی‌دارم!» 😋
بعد مادر محترمه با کفگیر میاد:
«اینارو برای مهمونی درست کردم، نه برای تو!» 😂
پس قبل از اینکه برای درمان Blocking، NOLOCK رو روی همه‌چی بپاشیم، شاید بد نباشه بپرسیم:
اصلاً چرا Blocking داریم؟
چون:
سریع‌تر خواندن، لزوماً یعنی درست‌تر خواندن نیست. 🔥
شما هم پروژه‌ای داشتید که NOLOCK توش تبدیل شده باشه به چسب زخم دائمی؟ 😁
👍18❤5
وقتی CPU بی‌دلیل ۱۰۰٪ میشه، اول Waitها رو نگاه کن! 😐😂
چند روز پیش توی یکی از مراکز، یک کندی عجیب داشتیم.
طبق معمول اولین کاری که من همه‌جا می‌کنم اینه که Monitoring رو راه می‌اندازم.
ولی اینجا هرچی نگاه می‌کردیم، چیز خاصی پیدا نمی‌کردیم.
نه Query خاصی، نه Index عجیب‌غریبی، نه چیزی که بگیم «آهاااا! خودشه!» 😐
ولی همین که ساعت شلوغی می‌شد...
و CPU می‌رفت هوا و کل مجموعه می‌خوابید! 😂
شروع کردیم به کلنجار رفتن با Indexها، CPU، Queryها و...
ولی نتیجه؟ تقریباً هیچ!
یه لحظه با خودم گفتم:
«بذار اصلاً ببینم این بدبخت الان سر چی Wait کرده!» 🤔
من Waitها رو بررسی کردم و دیدم بالای لیست نشسته:
🔥 PREEMPTIVE_OS_CRYPTOPS
اینجا بود که قضیه جالب شد.
نسخه SQL Server هم 2025 بود.
(البته قبلاً نصب شده بود؛ خودم شخصاً با نصب آخرین نسخه‌ها در محیط عملیاتی خیلی موافق نیستم 😁)
یک بررسی کردم و مشخص شد در SQL Server 2025، برای SQL Authentication تغییراتی در مکانیزم رمزنگاری Credentialها ایجاد شده که در بعضی شرایط و مخصوصاً زمان Load بالا، می‌تونه فشار قابل‌توجهی روی CPU ایجاد کنه.
یعنی ما داشتیم دنبال Index و Query می‌گشتیم...
مجرم داشت رمزنگاری می‌کرد! 😂
با فعال کردن Trace Flag مربوطه، رفتار رو به مدل SQL Server 2022 برگردوندیم و بعد هم باید Passwordها Reset می‌شدن تا Credentialها با مدل جدید/مناسب ذخیره بشن.
نتیجه؟
اینکه CPU تا قبلش داشت برای خودش زندگی می‌کرد:
📈 ۹۰٪... ۹۵٪... ۱۰۰٪...
بعد از تغییرات:
زیر ۵٪! 😐😂
یعنی تمام اون کندی وحشتناک، نه از Index بود، نه از Query، نه از کمبود CPU...
بنده‌خدا داشت Password رمزنگاری می‌کرد! 😂
و اما درس این داستان:
سر جدتون فقط چون یک نسخه جدید اومده، سریع نبریدش Production! 😂
اول ببینید نسخه جدید چه تغییراتی کرده، چه Known Issueهایی داره، چه رفتارهایی عوض شده.
بذارید حداقل چند تا Cumulative Update و Patch ازش رد بشه، چند ماه توی دنیای واقعی خودش رو نشون بده، بعد برید سراغ Production.
اینکه شما اولین نفر باشید که SQL Server 2025 رو توی Production نصب کرده، لزوماً یعنی:
«چقدر خفنیم» نیست! 😁
گاهی یعنی:
«تبریک میگم، شما اولین نفری هستی که قراره این Bug رو پیدا کنی!» 😂😂
راستی شما هم تجربه‌ای از این مدل مشکل‌های عجیب بعد از Upgrade داشتید؟

#SQLServer #DBA #SQLServer2025 #PerformanceTuning #Monitoring #WaitStats #Database #Performance
👍32❤2👏1
سلام عزیزانم
امیدوارم عالی باشین
پیشنهاد میکنم فیلم moneyball رو ببینید، و ببینید که تحلیل دیتا حتی توی ورزش و تیم چیدن و بازی کردن هم، میتونه چقدر تاثیر داشته باشه.

شاد باشین
حمیدرضا صادقیان
👍11❤3
Forwarded from Mindcraft
🧠 Mindcraft
Think Better. Lead Better.

یه جایی به بعد، آدم می‌فهمه مشکل خیلی از چیزهایی که در زندگی و کارش داره، کمبود دانش نیست...
نوع فکر کردنشه.
ما کلی کتاب می‌خونیم،
کلی دوره می‌بینیم،
کلی درباره مدیریت و رهبری و موفقیت حرف می‌زنیم...
اما وقتی پای یک تصمیم سخت،
یک آدم سخت،
یک تیم ناکارآمد
یا یک موقعیت پیچیده وسط میاد،
همون آدم قبلی هستیم. :)
اینجا برای من از همین سؤال شروع میشه:

چطور میشه بهتر فکر کرد؟
چطور خودمون رو بهتر مدیریت کنیم؟
چطور تیم بسازیم؟
چطور آدم‌ها رو بفهمیم؟
چطور تصمیم‌های بهتری بگیریم؟
چطور از «متخصص خوب بودن» به «رهبر خوب بودن» برسیم؟
و شاید مهم‌تر از همه...
چطور خودمون رو قبل از اینکه بخوایم دیگران رو رهبری کنیم، بسازیم؟

Mindcraft قراره جایی برای همین گفتگوها باشه.
نه قرار نیست اینجا نسخه موفقیت بپیچیم.
نه قرار نیست هر روز یک جمله انگیزشی بگیم که:
«اگر باور داشته باشی، می‌تونی دنیا رو فتح کنی!» 😂
قرارِ درباره چیزهایی حرف بزنیم که واقعاً در دنیای کار و زندگی باهاشون درگیریم؛

از توسعه فردی و رهبری
تا مدیریت، ساختن تیم، تصمیم‌گیری و طراحی سازمان.

گاهی هم احتمالاً چیزهایی می‌نویسم که خودم هنوز دارم باهاشون کلنجار می‌رم.
چون شاید رشد واقعی، بیشتر از اینکه جواب پیدا کردن باشه، سؤال‌های بهتری پرسیدنه.

Welcome to Mindcraft 🧠
Think Better. Lead Better.

خوش باشین
حمیدرضا صادقیان
❤13
Forwarded from Mindcraft
من با فرآیندهای بد مشکل دارم! 😂
هر جا وارد یک مجموعه می‌شم، حتی اگر قرار نباشه کارم Process Improvement باشه، ناخودآگاه شروع می‌کنم به کشف فرآیندها:
این کار چرا اینطوری انجام میشه؟
چند نفر درگیرشن؟
کجا دوباره‌کاری داریم؟
کجا منتظر آدم‌ها هستیم؟
و مهم‌تر از همه:
چرا برای کاری که میشه سیستم انجام بده، هنوز داریم از نیروی انسانی استفاده می‌کنیم؟! 😄
حتی در حوزه Database و Data هم فقط خود دیتابیس برام مهم نیست.
مدل Data Model، گزارش‌گیری، ارتباط با ذینفع، تعامل تیم فنی و حتی نحوه گزارش دادن به مدیران رو به چشم یک فرآیند می‌بینم.
چند روزه وارد یک کسب‌وکار جدید شدم و دارم فرآیندهاش رو کشف می‌کنم.
بخش زیادی هنوز دستی انجام میشه.
فعلاً دارم As-Is رو درمیارم تا ببینم کجا میشه:
زمان رو کم کرد،
هزینه رو کم کرد،
خطا رو کم کرد،
و رضایت آدم‌ها رو بیشتر کرد.
توی همین چند روز هم دو سه تا ایده با کارفرما مطرح کردم که خوشش اومد. 😎
برای من این دقیقاً جاییه که Service Design، Data و Business به هم می‌رسن.
گاهی یک فرآیند فقط نیاز به اصلاح داره...
گاهی هم باید کلاً از
«بذار فلانی انجامش بده»
برسه به
«سیستم خودش انجامش میده.» 🚀
شما وقتی وارد یک کسب‌وکار جدید می‌شید، اولین چیزی که سعی می‌کنید بفهمید چیه؟

— حمیدرضا صادقیان
در مسیر بهتر فکر کردن، بهتر ساختن.
@Minddcraft
👍6❤3🔥1
Forwarded from Mindcraft
بعضی‌ها با تغییر مشکل ندارن؛
با این مشکل دارن که تغییر، جایگاهشون رو تغییر بده!

تا حالا شده وارد یه مجموعه بشی و بخوای یه کاری رو درست کنی، ولی چند نفر عجیب جلوی کارت وایسن؟
نه مستقیم می‌گن «نکن»...
شروع می‌کنن به راهکار دادن! 😄
ترس از دست دادن شغل
ترس از اینکه یکی ازشون بالاتر بره
ترس از نورچشمی شدن یک نفر دیگه
ترس از افزایش حقوق اون
ترس از اینکه مدیر بفهمه خیلی از کارهایی که انجام می‌دادن، شاید اصلاً لازم نبوده!
من توی یکی از پروژه‌ها دقیقاً اینو دیدم.
هر بار یک راهکار عجیب می‌دادن.
منم بحث نمی‌کردم.
می‌ذاشتم اجرا بشه.
مشکل دوباره اتفاق می‌افتاد...
راهکار رد می‌شد...
تا بالاخره مسئله از ریشه حل شد.
و بعدش؟
سکوت! 😄
گاهی چیزی که ما اسمش رو می‌ذاریم «مقاومت در برابر تغییر»،
در واقع ترس از دست دادن جایگاهه.
شما با این مدل آدم‌ها چطور برخورد می‌کنید؟
من از این جنس تجربه‌ها و نگاه‌ها درباره آدم‌ها، تیم‌ها و سازمان‌ها اینجا می‌نویسم:

— حمیدرضا صادقیان
در مسیر بهتر فکر کردن، بهتر ساختن.

Telegram channel : @Minddcraft
❤6💯2🤝2👍1
Forwarded from Mindcraft
۳ دقیقه دیر اومدن = کتک‌کاری؟! 🤦🏻‍♂️
امروز اداره پست بودم.
۸:۰۳ یکی از کارمندها اومد.
رئیسش گفت: «این چه وضع اومدنه؟ من از ۷ سر کارم!»
کارمند گفت: «ساعت کاری ۸ شروع میشه، فقط ۳ دقیقه دیر کردم.»
بحث بالا گرفت،
بعد رسید به «لوازمتو جمع کن گورتو گم کن»
و نهایتاً هم کار به درگیری و کتک‌کاری کشید! 😐
با خودم گفتم:
خب داداش… فرض کن دیر اومده.
بشین باهاش حرف بزن.
مشکلت چیه؟
چرا دیر میای؟
چطور می‌تونیم کمک کنیم حلش کنیم؟
اگر هم حل نشد، محترمانه بگو:
«با این شرایط نمی‌تونیم ادامه بدیم.»
چرا برای حل یک مشکل ۳ دقیقه‌ای،
باید یک بحران درست کنیم؟!
به نظرتون مشکل اینجا «دیر اومدن» بود یا مدیریت بلد نبودن؟
👍12❤1
Forwarded from Mindcraft
«ماشینم خورد به درخت!»

این جمله رو که می‌شنوم، همیشه با خودم میگم:

خب... ماشینت خودش رفت خورد؟! 😂

خیلی وقت‌ها حتی برای اتفاق‌هایی که خودمون باعثش بودیم، یک فاعل بی‌گناه پیدا می‌کنیم!

«دستکشم گم شد.»

«سیستم خراب شد.»

«بکاپ Failed شد.»

«این Job اجرا نشد.»

همه مقصرن...

جز من! 😐

مثلاً بکاپ‌ها یک ماهه Failed شدن و من چک نکردم.

یک Disaster اتفاق میفته و اطلاعات از بین میره.

حالا میگم:

«بکاپ‌ها مشکل داشتن!»

خب قبول...

ولی تو کجا بودی؟!

به نظرم یکی از مهم‌ترین چیزهایی که باید توی تیم‌ها بسازیم، همین Ownership هست.

اینکه آدم بتونه خیلی ساده بگه:

«اشتباه کردم.»

«یادم رفت.»

«من باید چک می‌کردم.»

نه اینکه برای هر اتفاقی یک مقصر بیرونی پیدا کنیم.

حالا یک سؤال جدی:

توی تیم شما مسئولیت‌پذیری واقعاً وجود داره، یا همه فقط دنبال مقصرن؟

و مهم‌تر:

خودمون چقدر اجازه می‌دیم آدم‌ها مسئولیت اشتباهاتشون رو بپذیرن؟
❤9👏3👍1