TGViewer
Channel Public Channel
کانال تخصصی SQLSERVER

کانال تخصصی SQLSERVER

@sqlserver_professional

لینک کانال:
https://telegram.me/SQLSERVER_professional
Subscribers
848
Photos
146
Videos
6
Links
194

Showing posts older than #576 · Back to latest

Older Posts 20 shown
Post #575 1.74K
لذت ببرید. این Aggregate Pushdown و محاسبه تابع تجمعی همزمان با عملیات اسکن در sql2016 هستش.
Post #574 2.03K
#یافتن اولین رکورد در هر گروه به همراه مشخصات اضافی
کوئری بالا یکی از مواردی است که معمولاً در تهیه گزارشات مورد نیازمون هستش.
1️⃣یکی از روش ها استفاده از Subquery و Join است یعنی در یک مرحله، اولین رکورد از هر گروه رو انتخاب مبکنبم و در مرحله دوم بر اساس یک فیلد(تاریخ، ID و ...) اطلاعات اضافی رو از جدول اصلی استخراج می کنیم

2️⃣روش دیگر استفاده از Left Join هست. با استفاده از شرط خاصی که در جوین قرار می دهیم و با عملگر IS Null اطلاعات مورد نیاز رو استخراج می کنیم.
در لینک زیر این دو روش رو به نحو خوبی با مثالی مناسب و توضیحات کافی تشریح شده :
(روش های دیگری مانند استفاده از Cross/Outer Apply نیز برای تولید چنین خروجی وجود دارد)
⚠️اما حالاتی نیز وجود داره که ممکنه شما فیلد مشترکی بین Subquery و جدول اصلی برای جوین زدن نداشته باشید!! در این حالات از Window Function استفاده می کنیم که در ادامه به توضیح اون خواهیم پرداخت.

http://www.cryer.co.uk/brian/sql/sql_first_record_per_group.htm
www.cryer.co.uk SQL to select the first record in a group SQL to select the first (or last) record in a group.
Post #570 2.35K
❓کدام تلفظ صحیح است؟ اس کیو ال یا سی کو ال
✍️طراحان زبان sql در ابتدا این زبان را SEQUEL(سی کو ال) نامگذاری کردند که مخفف Structured English QUEry Language است. دلیل نامگذاری زبان بهSEQUEL(سی کو ال) این بود که طراحان آن تمایل داشتند که این زبان شبیه به زبان انگلیسی باشد که البته در این امر هم موفق بودند چرا که Syntax و منطق اجرای دستورات یک کوئری شباهت زیادی با زبان انگلیسی دارد. به عنوان یک نمونه متن انگلیسی زیر را در نظر بگیرید:
Bring me the T-SQL Querying book from the shelf in my office.

http://codeeatsleep.ir/sql-server-tricks/sql-or-sequel
codeeatsleep.ir اس کیو ال یا سی کو ال ممکن است شما هم بارها هر دو تلفظ اس کیو ال یا سی کو ال را در آموزش ها شنیده باشید و این سؤال برای شما مطرح شده باشد که آیا این دو زبان یکسان هستند و تنها در تلفظ متفاوتند؟
Post #567 462
Post #566 466

Forwarded from codeeatsleep

📣📣 مجموعه آموزش های shrink لاگ فایل:

1️⃣آموزش تشخیص قابل shrink بودن لاگ فایل
👈 لینک :
http://codeeatsleep.ir/sql-server-tricks/log-file-shrinkable-or-not
موضوع 👈 آشنایی با ساختار لاگ فایل، شناسایی و رفع موانع shrink شدن لاگ فایل

2️⃣آموزش مدیریت صحیح حجم لاگ فایل در SQL SERVER
لینک 👈:
http://codeeatsleep.ir/sql-server-tricks/proper-transaction-log-size-management
موضوع 👈 معرفی هشت روش معمول جهت مدیریت حجم لاگ فایل و مقایسه آن ها

3️⃣ آموزش shrink لاگ فایل و نجات دیتابیس
لینک 👈:
http://codeeatsleep.ir/sql-server-tricks/shrink-log-file-and-database-rescue
موضوع 👈 معرفی دو روش سریع جهت shrink لاگ فایل در شرایط بحرانی
codeeatsleep.ir تشخیص قابل shrink بودن لاگ فایل آیا تا به حال برای شما پیش آمده است که علی رغم اجرای دستور shrinkfile هیچ کاهش حجمی در لاگ فایل دیتابیس ایجاد نشود. در این آموزش، دلیل و راه حل این مورد را خواهیم دید
Post #565 2.12K
📣#آموزش تفاوت truncate با shrink لاگ فایل

❓تا به حال پیش آمده است که قصد shrink کردن لاگ فایل را داشته باشید اما با اجرای دستور shrinkfile هیچ کاهش حجمی در لاگ فایل مشاهده نکنید!!!

📎همانطور که می دانید، در sql server از لاگ فایل جهت نگهداری سابقه عملیات انجام شده بر روی رکوردهای دیتابیس استفاده می شود و یکی از کاربردهای آن، ایجاد قابلیت بازگرداندن اطلاعات به وضعیت قبلی آن، در صورت بروز هر گونه مشکل(rollback شدن تراکنش و ...) است.

یک دیتابیس حداقل از یک فایل mdf برای نگهداری داده های اصلی و یک فایل ldf برای نگهداری سوابق تشکیل شده که در آن لاگ فایل(ldf) بر خلاف mdf که از pageها تشکیل شده، از قسمت هایی به نام VLF یا virtual log file تشکیل شده است و اطلاعات بصورت sequential در این vlfها نوشته می شوند. نکته مهم این است که vlfها قابل بازنویسی و استفاده مجدد هستند اگر یکی از رکوردهای موجود در یک vlf متعلق به تراکنش فعال باشد، این vlf در حالت used/active قرار دارد و قابل استفاده مجدد نیست. اما در صورتی که vlf قابل استفاده مجدد باشد در وضعیت free/inactive قرار می گیرد.

👌با پر شدن لاگ فایل، از ابتدای آن جهت یافتن vlf با حالت free جستجو می شود و در صورت آزاد بودن vlf مورد استفاده مجدد قرار می گیرد، در غیر اینصورت، لاگ فایل ما به اندازه file growth تعیین شده در تنظیمات دیتابیس رشد می کند.

توجه داشته باشید به عملیات آزادسازی vlf (تغییر از used به free) عملیات truncate گفته می شود و به عملیات کاهش حجم لاگ فایل shrink می گوییم.

👈ما با shrink کردن لاگ فایل در واقع vlfهایی که دارای وضعیت free/inactive هستند و هیچ مورد استفاده ای ندارند را از فضای لاگ فایل حذف می کنیم. نکته مهم این است که کاهش حجم لاگ فایل از انتهای آن به سمت آخرین vlf فعال انجام می شود. پس در نتیجه اگر آخرین vlf در لاگ فایل، مورد استفاده باشد شما هر چند بار هم که دستور shrinkfile را اجرا کنید باز هم حجم لاگ فایل کاهش پیدا نمی کند!
—----------------------------------------------------------------------------------
✍️برخی از مواردی که منجر به فعال بودن یک vlf می شوند:

1️⃣فعال بودن تراکنش
2️⃣عدم تهیه لاگ بک آپ در حالت full recovery model
3️⃣عدم commit، لاگ در سرور ثانویه در صورت استفاده از mirroring , ...
و ...

در آموزش های آتی به جزئیات بیشتری در این مورد خواهیم پرداخت .
محسن بندامیر @mohsen_bandamir
Post #559 1.72K
خطر استفاده از عملگر Not IN در SQL SERVER :

یک نکته ای رو که علاقه مندم در ابتدای آموزش خطر استفاده از عملگر Not IN به افراد مشغول در حوزه دیتابیس گوشزد کنم این است که برای فعالیت به صورت حرفه ای در این حوزه، همواره باید با استثناها و موارد عجیب و غریب در sql server آشنایی داشته باشید! و هر چه حوزه کاری شما حرفه ای تر و حساس تر باشد این نیاز برجسته تر خواهد بود. در آموزش خطر استفاده از عملگر Not IN، با یکی از این استثناها آشنا می شویم و علاوه بر موضوع اصلی آموزش، پیرامون مقدار null در sql server هم مطالبی ارائه خواهد شد... 👇👇

http://codeeatsleep.ir/sql-server-tricks/the-danger-of-not-in
codeeatsleep.ir خطر استفاده از عملگر Not IN عملگر Not IN در پردازش مقدار null خروجی متفاوت با آنچه مورد نیاز ما است تولید می کند. در این آموزش دلیل و راه حل این مورد را خواهیم آموخت
Post #557 433

Forwarded from codeeatsleep

تقدم نوع های داده ای در SQL SERVER
Post #556 393

Forwarded from codeeatsleep

🔔 آیا می دانستیدکه:
نوع های داده ای(Data Types) در SQL SERVER دارای تقدم (Precedence)هستند!

👈با پاسخ دهی به خودآزمایی زیر، علاوه بر مشاهده کاربردی عملی از آشنایی با تقدم نوع های داده ای، آموزشی در این رابطه نیز مطالعه کنید👇
http://codeeatsleep.ir/sql-server-self-assessment/operators/coalesce-vs-isnull-data-type
codeeatsleep.ir datatype توابع coalesce-isnull آموزش مهارت های برنامه نویسی
Post #555 1.42K
کانال تخصصی SQLSERVER Photo
در واقع سؤال این هست که با توجه به مشخص بودن اینکه ما روی چه سطری کلیک کرد ه ایم، چرا در حذف خطا رخ می دهد؟
پاسخ:
زبان SQL که T-SQ هم توسعه ای از آن است بر اساس قوانین مجموعه ها ایجاد شده اند.
توجه داشته با شید این که می گوییم دیتابیس های رابطه ای(Relational) به معنای وجود رابطه یا Realtion بین جداول نیست. بلکه Relation به معنای مجموعه (R) هستش.
همونطور که در یک مجموعه، اگر اعداد تکرار شوند، در نظر گرفته نمی شوند در اینجا هم sql server این دو رکورد رو از هم تشخیص نمیده و در متن خطا نیز عبارت:
... don not make the row unique ...
این مفهوم رو منتقل میکنه.
راه حل: استفاده از کلید برای یونیک کردن رکوردها.

محسن بندامیر @Mohsen_Bandamir
Post #553 1.36K
📣#نکته آموزشی:
👈در sql server اگر شما دو رکورد یکسان داشته باشید و قصد داشته باشید تنها یکی از آن ها را حذف کنید، با خطا مواجه خواهید شد!!!

📎یک جدول ایجاد کنید در حالت edit بروید و دو رکورد مشابه در جدول وارد کنیدو. با راست کلیک کردن روی یکی از رکوردها گزینه delete را انتخاب کنید. با خطا مواجه می شود.👇
Post #552 1.3K
کانال تخصصی SQLSERVER مقایسه با مقدار NULL در شرط کوئری
👈مهارت sql خود را محک بزنید و نکات جدید بیاموزید:
پاسخ دهی به این سؤال، مشاهده پاسخ صحیح و مطالعه آموزش و نکات مربوطه در لینک زیر👇:
http://codeeatsleep.ir/sql-server-self-assessment/operators/equality-on-nulable-column
codeeatsleep.ir مقدار NULL در شرط کوئری آموزش مهارت های برنامه نویسی
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →