- Видео 59
- Просмотров 47 744
ARSLANOV
Добавлен 21 июн 2022
I am a Support Engineer at Microsoft in SQL Server sharing some useful sessions here.
This channel is about internal features of SQL Server as well as installation guides of different components.
In this channel. you will be able to deeply understand how SQL server works internally which can be helpful for maintaining SQL Server as DBA. Furthermore, I will share useful troubleshooting sessions which might be helpful when you face issues in SQL Server.
Please kindly note that the contents of this channel belongs to me only; they do not necessarily reflect the views and recommendations of Microsoft.
Happy learning :)
This channel is about internal features of SQL Server as well as installation guides of different components.
In this channel. you will be able to deeply understand how SQL server works internally which can be helpful for maintaining SQL Server as DBA. Furthermore, I will share useful troubleshooting sessions which might be helpful when you face issues in SQL Server.
Please kindly note that the contents of this channel belongs to me only; they do not necessarily reflect the views and recommendations of Microsoft.
Happy learning :)
Session 12: Data Update Operators: DELETE, INSERT, UPDATE and Halloween problem
Let us quickly discuss data update operators in this session.
🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173
🚀►Github for queries: github.com/Bobirmirzo/Performance/blob/main/Session_3.txt
Watch all my playlists here:
🚀►Full course on Troubleshooting sessions: ruclips.net/p/PLxuuX6jGq7kmlUblaWyfIh-iT5r0EWrJX&si=gC5FAhH9i6_b0waY
🚀►Full course on Encrypting connections to SQL Server- ruclips.net/p/PLxuuX6jGq7kmqOCqYa1lFxQOKFgTfb8j8&si=bBwHhLsu6m5CjFft
🚀 ►SQL Server replication session: ruclips.net/p/PLxuuX6jGq7km5E54qm0zc7REGXw6WD4C8&si=fQ_PVoGQ1S8SeI6X
🚀 ►SQL Server Always On Availability Group: ruclips.net/p/PLxuuX6jGq7klnjr9OIGt8R1SN76pQzuEB&si=zZVr_sJnc7I9H8d3
🚀 ...
🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173
🚀►Github for queries: github.com/Bobirmirzo/Performance/blob/main/Session_3.txt
Watch all my playlists here:
🚀►Full course on Troubleshooting sessions: ruclips.net/p/PLxuuX6jGq7kmlUblaWyfIh-iT5r0EWrJX&si=gC5FAhH9i6_b0waY
🚀►Full course on Encrypting connections to SQL Server- ruclips.net/p/PLxuuX6jGq7kmqOCqYa1lFxQOKFgTfb8j8&si=bBwHhLsu6m5CjFft
🚀 ►SQL Server replication session: ruclips.net/p/PLxuuX6jGq7km5E54qm0zc7REGXw6WD4C8&si=fQ_PVoGQ1S8SeI6X
🚀 ►SQL Server Always On Availability Group: ruclips.net/p/PLxuuX6jGq7klnjr9OIGt8R1SN76pQzuEB&si=zZVr_sJnc7I9H8d3
🚀 ...
Просмотров: 51
Видео
Session 3: Why you should not trust live execution plan in SSMS ?
Просмотров 6714 дней назад
Many of use might use live execution plan in SSMS for troubleshooting never ending queries. However, there are some points you should know about this plan. We will talk about this in this session. 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173 🚀►Github for queries: github.com/Bobirmirzo/Performance/blob/main/Session_3.txt Watch all my playlists here: 🚀►Full course...
Session 11: Spool operator in SQL Server
Просмотров 6214 дней назад
This session covers spool operators in SQL Server, focusing on their functions and impact on query performance. It explains the physical operator functions (Init(), GetRow(), GetNext(), Close()) and the concepts of rebinds and rewinds, which are relevant when the Nested Loops operator interacts with certain operators like Index Spool and Table Spool. The presentation also discusses different ty...
Session 10: Parallelism in SQL Server
Просмотров 9514 дней назад
This session provides an overview of parallelism in SQL Server. It covers the basics of parallel query execution, including partitioning data and distributing it among CPUs for simultaneous operations. The presentation highlights the benefits of parallelism for large queries, especially in data warehouse workloads, but also notes the overhead and potential bottlenecks it can introduce. Practica...
Session 9: Join operators in SQL Server
Просмотров 7314 дней назад
Let us deeply understand JOIN operators in SQL Server in this session. Chapters 0:00 - Nested loop join 1:45 - Merge join 3:05 - Hash join 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173 Watch all my playlists here: 🚀►Full course on Troubleshooting sessions: ruclips.net/p/PLxuuX6jGq7kmlUblaWyfIh-iT5r0EWrJX&si=gC5FAhH9i6_b0waY 🚀►Full course on Encrypting connections...
Session 8: Aggregate operators in SQL Server: Stream and Hash aggregations
Просмотров 5914 дней назад
Stream aggregates are very much crucial aggregates in SQL Server. They are used in computing values, aggregate operations, group by operations and often seen in execution plans. Let us overview this operators and understand how they function in execution plans. Chapters 0:00 - Stream aggregate operator 3:53 - Hash aggregate operator 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-ars...
Session 7: Parameterization and parameter sniffing in SQL Server
Просмотров 5414 дней назад
In this session, we talk about fundamental but very important topic in SQL Server: Parameterization and parameter sniffing. Many performance related issues can be resolved by simply understanding this topic. Let us master it. Chapters 0:30 - Parameterization in SQL Server 4:00 - Parameter sniffing in SQL Server 6:55 - SET options in SQL Server 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bob...
Session 6: Fine tune queries with Index scan and seek operations
Просмотров 6414 дней назад
Let us see some examples of fine tuning queries with SCAN and SEEK operations in SQL Server. 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173 🚀►Github for queries: github.com/Bobirmirzo/Performance/blob/main/Session_2.txt Watch all my playlists here: 🚀►Full course on Troubleshooting sessions: ruclips.net/p/PLxuuX6jGq7kmlUblaWyfIh-iT5r0EWrJX&si=gC5FAhH9i6_b0waY 🚀►Ful...
Session 5: How SQL Server chooses which index and operators (seek, scan) to use for queries
Просмотров 7314 дней назад
Do you ever wonder how SQL Server chooses which index to use and which operator to perform in execution plans? What factors plan an important role in this decision? Knowing the above is crucial while troubleshooting, fine tuning queries or creating indexes. Let us learn this in this session! 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173 🚀►Github for queries: gith...
Session 4: Data access operators in SQL Server: Scans, Seeks and Key/RID Lookup
Просмотров 9214 дней назад
Let us quickly learn data access operators in SQL Server in this session. Data access operators nearly exist in all the execution plans and you should deeply understand these operators as they can define performance issues in many cases. Chapters 0:20 - Table Scan 1:45 - Non-clustered index-seek with RID lookup 3:55 - Non-clustered index scan, Non-clustered index seek without RID lookup 7:30 - ...
Session 2: SQL Server execution plan overview
Просмотров 14214 дней назад
In this session, we will briefly go through sql server execution plan by learning types of the plan and how to get the plans. Furthermore, we will go through important parts of the plan. 0:33 - Execution plan formats 1:00 - Estimated and actual plans 4:10 - Inflight execution plan 5:30 - Operator functions: Init(), GetRow(), Submit(), Close() 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobi...
Session 1: SQL Server Optimizer: deeper dive!
Просмотров 23914 дней назад
In this session, we will dive deeper into the sql server optimizer which is responsible for generating execution plans and greatly impact SQL Server performance. Chapters 0:17 - Query execution workflow 4:15 - Parsing, binding and algebraic tree 5:28 - Optimizer internal steps 5:57 - Simplification 8:10 - Trivial plan 9:07 - Statistics loading 9:50 - Join ordering 12:05 - Stage 0, Stage 1 and S...
Understand and troubleshoot latency in AG synchronization in SQL Server
Просмотров 4833 месяца назад
In this session, you will understand how synchronization works in SQL Server Availability group cluster and learn to troubleshoot synchronization latency issues. Chapters 00:31- Availability Group Synchronization internals 03:56 - Performance monitor metrics to troubleshoot latency 11:15 - Extended event logs to troubleshoot latency 18:38 - AgLatency tool to troubleshoot latency 📚 ►Queries and ...
Understand Statistics in SQL Server for better performance troubleshooting
Просмотров 8094 месяца назад
Let us quickly learn about statistics in this session. 📚 ►Recommended sessions: 1. ruclips.net/video/aJNSy94tsxM/видео.html 2. ruclips.net/video/7oMXxxp-kz4/видео.html 📚 ►Full course on Troubleshooting CPU Spike in SQL Server: ruclips.net/p/PLxuuX6jGq7kmDoqafhow70kQH2l8Z_Xm0&si=lIrrZo_cqj-YYQBy 🧑💼►Follow me on LinkedIn - www.linkedin.com/in/bobirmirzo-arslanov-548960173 Watch all my playlists ...
Professionally troubleshoot high CPU utilization in SQL Server
Просмотров 1,3 тыс.4 месяца назад
Sudden CPU spikes often cause performance issues in SQL Server. In this session, I share some effective troubleshooting techniques to troubleshoot high CPU utilization by SQL Server. Chapters 0:00 - Recommended sessions 1:00 - Troubleshooting Step 1 3:05 - Troubleshooting Step 2 5:41 - Troubleshooting Step 3 7:50 - Live demo: Case 1 8:40 - Live demo: Case 2 10:44- Live demo: Case 3 14:33-Live d...
2. Why SQLOS created? Can Windows Schedular schedule SQL Server process like other processes?
Просмотров 1144 месяца назад
2. Why SQLOS created? Can Windows Schedular schedule SQL Server process like other processes?
1. Multitasking, multiprocessing and multi-threading in Windows
Просмотров 1254 месяца назад
1. Multitasking, multiprocessing and multi-threading in Windows
Deeply Understand connectivity to VNN listener and troubleshoot connection failures efficiently
Просмотров 4765 месяцев назад
Deeply Understand connectivity to VNN listener and troubleshoot connection failures efficiently
4. Enable encryption in connections to SQL Server by meeting all certificate requirements
Просмотров 5656 месяцев назад
4. Enable encryption in connections to SQL Server by meeting all certificate requirements
3. SSL Certificate types and requirements for SQL Server
Просмотров 5926 месяцев назад
3. SSL Certificate types and requirements for SQL Server
2. Ways to encrypt connection to SQL Server
Просмотров 3626 месяцев назад
2. Ways to encrypt connection to SQL Server
Apply the execution plan from one server to another in SQL Server
Просмотров 2336 месяцев назад
Apply the execution plan from one server to another in SQL Server
[Detailed/Advanced] Effectively troubleshoot SQL Server transactional replication latency (Part 2)
Просмотров 3037 месяцев назад
[Detailed/Advanced] Effectively troubleshoot SQL Server transactional replication latency (Part 2)
[Detailed/Advanced] Effectively troubleshoot SQL Server transactional replication latency (Part 1)
Просмотров 5937 месяцев назад
[Detailed/Advanced] Effectively troubleshoot SQL Server transactional replication latency (Part 1)
In-detail: Understand and effectively troubleshoot deadlocks in SQL Server
Просмотров 4317 месяцев назад
In-detail: Understand and effectively troubleshoot deadlocks in SQL Server
Database recovery in SQL Server: In-detail explanation and troubleshoot latency
Просмотров 6139 месяцев назад
Database recovery in SQL Server: In-detail explanation and troubleshoot latency
In-detail explanation of SQL Server memory utilization: Wisely troubleshoot SQL Server memory issues
Просмотров 1,2 тыс.10 месяцев назад
In-detail explanation of SQL Server memory utilization: Wisely troubleshoot SQL Server memory issues
How to keep stable performance while changing database compatibility in SQL Server
Просмотров 52610 месяцев назад
How to keep stable performance while changing database compatibility in SQL Server
very useful
may you please suggest me a good performance tuning live classes from basics to advanced. Its my request
Great
I am glad that you liked it!
Very nice tutorial. Thanks
Glad you liked it
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Please increase the voice in these series so that you can hear it more clearly. The voice decreased accidentally while editing.
Really appreciate the effort you are putting in, the content and concepts are clearly explained. But I can barely hear your voice in all of your videos. Tried multiple devices, its same.
Sorry. My voice has accidently been decreased. Have you tried to increase the voice in youtube? if you increase it, you can hear it clearly. I checked. I cannot replace the video without deleting completely. Sorry about this
@@arslanov1886 No problem, I used an external speaker 🔊 🔊 😂
Thank you for your interest in my videos!
thanks for helping
Happy to help :)
You are a living legend, that was so easy thanks.
Glad that you liked it!
Great content. I loved it. cons: 1) Introduction music is very loud. 2) the volume of your narration is very low.
Thank you for your feedback. I will improve this in fuiture videoes :)
@arslanov1886 >> Thank you so much for starting these optimization sessions. I have been waiting for this for a long time. All videos are really informative compared to any other out there.
Could you recommend me a book to deeper dive into sql server ?
Sorry. I usually do not use books as they are difficult to understand. Instead I go through MS docs
Hello Arslanov, Thank you for all your sessions. I am learning from them. May you do some videos on Merge Replication and troubleshooting issues. Please Also I am unable to view all four videos in this crash course. And how to attend the live sessions of yours?
Sure will do. Currently, I am not doing live sessions. But I have plans for the future
Thank you for the detailed explanation
Could you please share those queries to find blocker with us
Hello. It is in the github. Github link is in video description
Can you please make a video on execution plans and operators.
Sure. I am doing that. It will be released soon
Can you please make a video on execution plans and operators.
Sure. Will do soon
Great video!!
Glad you enjoyed it
Great video!!
Thanks for the visit
Very well explain especially the sql worker process
Thanks
Awesome videos bro ❤ … Can we get same scripts which you have used ?
It is in github which in video description
Hi, is it possible to spool the data in a file on Windows? we often get peaks around 11-11:30 am $serverName = $env:COMPUTERNAME $Counters = @( ("\\$serverName" + "\Process(sqlservr*)\% User Time"), ("\\$serverName" + "\Process(sqlservr*)\% Privileged Time") ) Get-Counter -Counter $Counters -MaxSamples 30 | ForEach { $_.CounterSamples | ForEach { [pscustomobject]@{ TimeStamp = $_.TimeStamp Path = $_.Path Value = ([Math]::Round($_.CookedValue, 3)) } Start-Sleep -s 2 } } Thanks!
Hello for this you can just start collecting perfmon logs for CPU utilization as below: ============== Logman.exe create counter PerfLog-Short -o "C:\temp\%ComputerName%_PerfLog-Short.blg" -f bincirc -v mmddhhmm -max 500 -c "\Process(*)\*" -si 00:00:01 ============== THe above keeps running and updating when it reaches size limit which is 500MB this case
Very good vudeo
Thank you :)
Thankyou Please make more vedios on Swl performance
Sure!!
Very useful knowledge
Thanks for the nice animation
Thank you so much
Great content and balance between concepts and practical example!
Thank you. Glad it helped🙂
Very informative. Thank you
Thank you. Glad it helped 🙂
Hello, Thank you and greetings from Bulgaria. Great tutorial. I would like to ask you - you say we can request bigger sample. Yet it is said that statistics is restricted to one 8K page. So it seems that we can not extend indefinitely. Or am I wrong in some way ?? Also - you mentioned that statistics can be created on a column without an index. Very few people mention that. So I am now exploring - if we can have just statistics to help us build a query plan, why do we need index/es ?? They are bulky etc. And most important they rely underneath on ... statistics. So seem like that they are like middle man. Would you like to help me (and the others) on that ?? Thank you.
I do not think statistics is restricted to one 8K page as they are BLOBs learn.microsoft.com/en-us/sql/relational-databases/statistics/statistics?view=sql-server-ver16#statistics-1 Regarding difference, I highly recommend watching my video from 6:56 specifically as I explained how statistics help to choose best way to run the query. Let me explain in this way: You have following indexes: Index A Index B Index C You are starting to run a query to retrieve RowsA. In this case, what SQL Server does firstly is, to find the best( less-costly) way of getting these rows. For this, it should evaluate several options like below: 1. Run query with Index A (e.g. in this case SQL Server has to go through only 100 rows to retrieve RowsA) 2. Run query with Index B (e.g. in this case SQL Server has to go through only 120 rows to retrieve RowsA) 3. Run query with Index C (e.g. in this case SQL Server has to go through only 160 rows to retrieve RowsA) 4. Run query without any index (e.g. in this case SQL Server has to go through all 1000000 rows to retrieve RowsA) As can be seen, SQL Server chooses first option with Index A as it is less costly (it should work with less rows in this case). In this case, statistics help SQL Server to predict how many rows are expected to go through beforehand to choose the best option which is 100 rows in our first case. As you can see, if we take index as a route to reach destination, statistics is "prediction of costs" if we choose this specific route in terms of number of rows.
Btw, Greetings from Japan!
@@arslanov1886 Thank you for taking so much time to explain. After some thinking and hitting the wall with my head :) may I bring my words in addition ? Please tell me if I am wrong. So statistics helps to find / allocate the data and predict the number of rows that would come. Then the SQL Server makes the decision whether it can use an index or not to collect the data. Are you Japanese ? I mean you could be just working and living there. Big Thank you.
Correct. Yes, I am just living and working here in Japan :)
@@arslanov1886 All right. Thank you. For a moment I thought I asked something inappropriate. I love learning about Japan. It is so unique and exotic in many ways compared to the western world. I have many things to sort out now but some day I will look for you in LinkedIn and ask you if you would have time share some of your insights.
Could i ask your option about should or not shinking database when have alot of unsued space disk
You should shrink it. After shrinking, do not forget to rebuild the index. ================= Data that is moved to shrink a file can be scattered to any available location in the file. This causes index fragmentation and can slow the performance of queries that search a range of the index. To eliminate the fragmentation, consider rebuilding the indexes on the file after shrinking. ref: learn.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-database?view=sql-server-ver16#FollowUp ================= Furthermore, be careful with performance issues with blocking: ================ Shrink operations in progress can block other queries on the database, and can be blocked by queries already in progress ref: learn.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-database?view=sql-server-ver16#remarks ================
That is a perfect Explanation and on point. Bro I want you to create few Query optimization-related videos. If possible please create videos to understand the Execution plan and other query performance tweaks. Will wait for your new videos as you are on top of my list for MSSQL :). So informative.. Keep it up !
Sure, will do. I have a plan on this and started working on it :)
@@arslanov1886 :: Appreciate your hard work bro :) Thank you !
Very well explained 👏 .. Can you do a video on using sp_blitzcache and sp_blitzindex...It would be helpful for suggestions...or any kind of tools which will make our day so easy.
Sure. I will work on this. This is interesting for me! Thank you.
Great session, very useful. Thank you so much
Glad it was helpful!
Thank you for your content. I'm exploring mssql internal to preparing some interview about database dev. Blessed to view this
Glad it was helpful!
Excellent demonstration
Happy that you like it🙂
Do not forget to refer to recommended sessions to fully master this session!
Hello Everyone. According to requests of some of you guys, prepared this session. I hope you find this useful. Sorry for being a little late!!
Very clear explanation. Please do more videos
How to install Windows server
very confusing for a beginner
Sorry about this. Please let me know what part you did not understand