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 #600 · Back to latest

Older Posts 20 shown
Post #599 2.98K
📣آخرین آموزش از مجموعه آموزش های window function
✍️ارزیابی کارایی WINDOW FUNCTIONS :

همواره جهت طراحی یک کوئری روش های مختلفی وجود دارد و هر برنامه نویس متناسب با تجربه، دانش و دیدگاه خود ممکن است از روش متفاوتی استفاده کند. اما برترین راه حل با ارزیابی کارایی هر روش مشخص می شود. در آموزش ارزیابی کارایی WINDOW FUNCTIONS چند روش مختلف را برای تهیه یک خروجی طراحی کرده و سپس هزینه اجرایی هر کدام را با هم مقایسه و برترین روش را انتخاب می کنیم. در واقع هدف این است که مقایسه ای بین کارایی روش های قدیمی مانند جوین، cross apply ،cursor با WINDOW FUNCTIONS داشته باشیم....👇👇
http://codeeatsleep.ir/sql-server-performance/window-functions-performance-evaluation
codeeatsleep.ir ارزیابی کارایی WINDOW FUNCTIONS در این آموزش به مقایسه و ارزیابی کارایی 4 روش قدیمی در اجرای یک کوئری با 2 روش پیاده سازی شده بوسیله window function با استفاده از ابزار SQLQueryStress می پردازیم.
Post #596 2.53K
📣 سه نکته کلیدی در کارایی WINDOW FUNCTION

✍️یک عبارت و دستور Sql ممکن است در کتاب آموزشی و بر روی کاغذ بسیار سریع و بهینه معرفی شود، اما آنچه ارزشمند است، کارایی آن دستور در زمان اجرا است. همانطور که می دانید در جهت اجرای بهینه هر دستوری، توجه به یک سری نکات الزامی است به عنوان مثال نوشتن دستورات Sargable در کوئری، طراحی مناسب ایندکس و یا ملاحظات پیکربندی TempDB و ... . اگرچه Optimizer در اجرای توابع WINDOW FUNCTION یکسری بهینه سازی مانند Fast Track و ... را به صورت خودکار اعمال می کند اما در این آموزش سه نکته کلیدی در کارایی WINDOW FUNCTION را که کنترل و مدیریت آن به عنوان طراح کوئری برعهده ما است را بررسی می کنیم...

📎در این آموزش علاوه بر پرداختن بر موضوع اصلی، مروری بر نحوه خواندن Execution plan داریم. یکی دیگر از کاربردهای profiler را خواهید دید و مزیت ایجاد columnstore index در جدول رو متوجه خواهید شد. با چند تا از امکانات جدید در sql2016 نیز آشنا می شوید👇👇

http://codeeatsleep.ir/sql-server-performance/window-function-performance-three-key-points
codeeatsleep.ir سه نکته کلیدی در کارایی WINDOW FUNCTION در این آموزش با سه اصطلاح POC Index، Spooling و Batch Mode Processing آشنا می شویم و نحوه تأثیرگذاری آن ها در کارایی window functions را بررسی می کنیم.
Post #594 2.66K
📣📣 مجموعه آموزش های WINDOW FUNCTION:

1️⃣آموزش WINDOW FUNCTION چیست
👈 لینک :
http://codeeatsleep.ir/sql-riddle/what-is-window-function
موضوع 👈 آشنایی WINDOW FUNCTION، تغییرات آن در نسخ مختلف، معرفی انواع توابع و ...
***********************************
2️⃣آموزش WINDOW FUNCTION و پایان محدودیت های GROUP BY
لینک 👈:http://codeeatsleep.ir/sql-server-tsql/window-function-and-end-of-group-by-limits
موضوع 👈 معرفی توابع Aggregate Window Function
***********************************
3️⃣ آموزش WINDOW FUNCTION و توابع رتبه بندی
لینک 👈:http://codeeatsleep.ir/sql-server-tsql/ranking-window-function
موضوع 👈 معرفی اونواع توابع رتبه بندی و مثال هایی از کاربرد آن ها در دنیای واقعی
***********************************
4️⃣ آموزش WINDOW FUNCTION و توابع تحلیلی
لینک 👈:http://codeeatsleep.ir/sql-server-tsql/analytic-window-function-part1
موضوع 👈 معرفی توابع تحلیلی قسمت اول
***********************************
5️⃣ آموزش Rows و Range در WINDOW FUNCTION

لینک 👈:http://codeeatsleep.ir/sql-server-tsql/window-function-range-and-rows
موضوع 👈 آشنایی با مفهوم فریم بندی در window function
***********************************
6️⃣آموزش WINDOW FUNCTION و توابع تحلیلی 2

لینک 👈:http://codeeatsleep.ir/sql-server-tsql/analytic-window-function-part2
موضوع 👈 آشنایی با توابع تحلیلی قسمت دوم
***********************************
7️⃣آموزش دور زدن محدودیت Row_Number

لینک 👈:http://codeeatsleep.ir/sql-server-tricks/row-number-bypassing-the-limit
موضوع 👈 آشنایی با تکنیک دور زدن محدودیت الزام بر مرتب سازی بر اساس یک فیلد
***********************************
8️⃣ خودآزمایی Window Function و عبارت OVER

لینک 👈:http://codeeatsleep.ir/sql-server-self-assessment/fundamental/window-function-over-clause
موضوع 👈 خودآزمایی
Post #590 2.05K
محاسبه میانه(Median) گروه های کاری کارمندان با استفاده از تابع Percentile_Cont
Post #589 1.94K
محاسبه میانه(Median) گروه های کاری کارمندان با استفاده از تابع Percentile_Disc
Post #588 2.03K
📣 آموزش WINDOW FUNCTION و توابع تحلیلی - قسمت دوم:

✍️در این آموزش با window distribution functions آشنا می شویم. این توابع دارای مفاهیم آماری هستند و از آنجایی که هدف ما بیشتر یادگیری نحوه استفاده و کاربرد عملی از این توابع است، از پرداختن به تعاریف و مفاهیم آماری اجتناب کرده و تنها از دید کوئری نویسی و استفاده از این توابع در تهیه گزارشات، مثال هایی ارائه می کنیم. در ابتدا نحوه عملکرد هر تابع را توضیح می دهیم و در ادامه با ارائه یک مثال، خروجی تولید شده توسط تابع نمایش داده می شود و سپس فرمول محاسبه هر تابع عنوان خواهد شد...👇

http://codeeatsleep.ir/sql-server-tsql/analytic-window-function-part2
Post #587 2.02K
📣آموزش WINDOW FUNCTION و توابع تحلیلی - قسمت اول

✍️مفهوم offset در زبان های برنامه نویسی و sql server همواره به محل قرارگیری(داده/رکورد) مربوط می شود. به عنوان یک مثال ساده می توان به paging اشاره کرد که در آن لازم است هر بار تعداد ثابتی رکورد(page size)، از یک محل متفاوت(متناسب با شماره صفحه) خوانده شود که یکی از روش ها برای انجام paging در sql server استفاده از offset_fetch است. اما Window offset functions امکان دسترسی به رکوردهای قبلی یا بعدی رکورد جاری را برای ما فراهم می کند ...

http://codeeatsleep.ir/sql-server-tsql/analytic-window-function-part1
Post #586 1.94K
محاسبه moving average با استفاده از window function و فریم بندی
Post #584 1.96K
تفاوت فریم بندی با اسفاده از RANGE و ROWS
Post #583 1.95K
📣 آموزش Rows و Range در WINDOW FUNCTION :
از sql server 2012 امکان جدیدی به نام فریم بندی رکوردها به WINDOW FUNCTION اضافه شد. در واقع با استفاده از این امکان، می توانیم رکوردها را پس از قرار دادن در گروه های مختلف، مجدداً گروهبندی کنیم و به عبارتی دیگر یک گروهبندی ثانویه در داخل گروه ها داشته باشیم. ...👇

http://codeeatsleep.ir/sql-server-tsql/window-function-range-and-rows
Post #582 1.88K
📣 توابع رتبه بندی(Ranking Window Function) :
عبارتند از ROW_NUMBER, RANK, DENSE_RANK و NTILE
🖌توابع Ranking Window Function از نسخه sql server 2005 معرفی شده است و به کمک این توابع می توانیم بسیاری از کوئری ها را که قبلاً با نوشتن تعداد دستورات زیاد و پیچیده تولید می کردیم، با استفاده از این توابع با کارایی بالا و تعداد دستورات کمتر ایجاد کنیم. ..👇

http://codeeatsleep.ir/sql-server-tsql/ranking-window-function
codeeatsleep.ir WINDOW FUNCTION و توابع رتبه بندی به کمک توابع رتبه بندی می توانیم بسیاری از کوئری ها را که قبلاً با نوشتن تعداد دستورات زیاد و پیچیده تولید می کردیم، با استفاده از این توابع با کارایی بالا و تعداد دستورات کمتر ایجاد کنیم.
Post #581 1.86K
استفاده از تابع Row_Number برای استخراج nرکورد ابتدایی از هر گروه(select top n)
Post #579 2.09K
📣آموزش WINDOW FUNCTION و پایان محدودیت های GROUP BY :

حتماً برای شما پیش آمده است که در زمان گروهبندی رکوردها با استفاده از دستور group by، دسترسی به جزئیات رکوردها امکان پذیر نیست. به عنوان مثال پس از استخراج آخرین سفارش هر ماه با گروهبندی بر اساس تاریخ، اگر نیاز به استخراج مشخصات فروشنده یا خریدار و ... داشته باشیم چاره ای جز استفاده از جوین، cross apply، cte و یا subquery نداریم. در هر صورت از هر روشی که استفاده کنیم می بایست مراحل اضافه و بعضاً پیچیده ای را به کوئری اصلی اضافه کنیم تا خروجی مورد نظر تهیه شود. با معرفی Aggregate WINDOW FUNCTION در sql server 2005 در واقع این گونه دردسرها جهت تهیه خروجی مورد نظر پایان یافت...

http://codeeatsleep.ir/sql-server-tsql/window-function-and-end-of-group-by-limits
codeeatsleep.ir WINDOW FUNCTION و پایان محدودیت های GROUP BY معرفی Aggregate WINDOW FUNCTION در sql server 2005 به عنوان پایان محدودیت های GROUP BY محسوب می شود
Post #578 528

Forwarded from codeeatsleep

#آموزش: window function یک مجموعه توابع قدرتمندی است که راه حلی سریع، بهینه و با حداقل تعداد دستورات برای حل مسائل پیچیده ای ارائه می کند که قبلاً مجبور بودیم با استفاده از کرسر، subquery، دستورات پیچیده و بعضاً غیر بهبنه T-SQL آن ها را حل کنیم...

http://codeeatsleep.ir/sql-riddle/what-is-window-function
Post #576 2.01K
سؤال:
من از function دارم استفاده می کنم و توی بعضی از سایتها یک گزینه ای وجود دارد به نام WITH EXECUTE AS CALLER البته این کد در function قرار دارد و من نمی دونم چه استفاده ای دارد ممنون می شوم شما من را راهنمایی کنید.

پاسخ1:

نحوه اجرای تابع از نظر دسترسی به منابع هست ... caller مقدار پیشفرض هست ... فرضا owner رو اگر بذارید معادل run as admin خودمون در ویندوز هست ... اگر سرچ بزنید داکیومنتش بشکل تفصیلی وجود دارد ...

پاسخ2:

سلام
👈فرض کنید شما یک SP در سیستم انبار محصول طراحی کرده اید که جهت ثبت سفارش استفاده می شود. این SP قرار است توسط یک سیستم دیگری مثلاً سیستم فروش اجرا شود. یعنی کاربر سیستم فروش، در زمان ثبت سفارش، بایستی با ارسال پارامترهایی(تعداد سفارش و ...) این SP رو اجرا کنه.
✍️در چنین شرایطی، با توجه به اینکه در SPثبت سفارش شما لازم است عملیات مختلفی مانند update، Insert و ... در چند جدول دیتابیس انبار انجام دهید لازم است تا یوزر فروش نیز به این جداول دسترسی داشته باشد!!!
👌پس نکته مهم این هست که اگر شما در یک sp،تریگر و ... عملیاتی رو روی آبجکت های دیتابیس انجام میدین، یوزری که اون sp، تریگر و ... رو اجرا می کنه هم باید دسترسی لازم به آبجکت هایی اشاره شده در طول SP و ... رو داشته باشه
کاملاً مشخص است که شما نمی تونید به ازای تک تک یوزرها، و یا سیستم های بیرونی چنین دسترسی هایی رو ایجاد کنید. اینجاس که از دستور with the EXECUTE AS استفاده می کنیم. که از sql2005 معرفی شده است

📎توضیح بیشتر:
در واقع به اضافه کردن with the EXECUTE AS به ابتذای یک SP، تریگر و ... جعل هویت (impersonation ) گفته می شود. یعنی با این کار شما دارین به sql server می گین که هر کسی(هر یوزری) که این Sp و... رو اجرا کرد، شما اینگونه در نظر بگیر که با سطح دسترسی مشخص شده داره عملیات موجود در sp و ... رو انجام می ده.

مثال:
CREATE PROCEDURE dbo.TestProcedure
WITH EXECUTE AS OWNER
بنابراین هر یوزری که TestProcedure رو اجرا کنه، مانند این هست که با سطح دسترسی OWNER داره دستورات داخل sp رو اجرا می کنه.
توجه داشته باشید در صورتیکه این دستور رو اضافه نکنیم بایستی برای تک تک یوزرهایی که نیاز به اجرای SP دارن به کلیه جداول و ... که در طول SP نوشته ایم دسترسی لازم رو بدهیم که این کار صحیح نیست.

مطالعه بیشتر در لینک های زیر:
1️⃣https://www.mssqltips.com/sqlservertip/1227/granting-permission-with-the-execute-as-command-in-sql-server/

2️⃣https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-clause-transact-sql

3️⃣https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-clause-transact-sql
Mssqltips Granting permission with the EXECUTE AS command in SQL Server One area that is often under utilized in SQL Server is issuing granular security rights at both a login and user level. It is often easier to just give someone more rights then they usually need to perform the task at hand versus trying to figure out exa
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 →