Query Stats script
This query stats script returns aggregated statistics information for every query statement in the cached plan. Use it to get details on what’s running in your system. The post Query Stats script...
View ArticleParameterization Part 4: Handling Non-Uniform Data Distribution
This is the fourth post in the “Parameterization” series. In the previous post I wrote about parameter sniffing, and I mentioned that this method can be a good thing in some cases, but it can also be...
View ArticleDBA in the Cloud: Threat or Opportunity?
Five years ago the term “cloud” was still a buzzword, and there was a lot of uncertainty and misconception around it. I remember many DBAs, including myself, asking themselves what this revolution...
View ArticleParameterization Part 5: Two Common Mistakes
This is the fifth post in my Parameterization series. In previous posts I wrote about parameter sniffing and when it is good or bad, and also about how to work around the problems associated with...
View ArticleHow to Make Sure Your Clients Can Connect to a Multi-Subnet Cluster
When you set up a multi-subnet cluster, whether it’s a Failover Cluster Instance or an Availability Group, you need to make sure you understand a few things in order for your applications to work...
View ArticleTrack My Query Utility
Were you ever in a situation where you ran a query, it ran for a long time and you didn’t know what it was doing? Sure you were.. What if you had a visual indication of where things are stuck in your...
View ArticleTransaction Durability
Microsoft’s SQL Server development team have added new features in the new version of SQL Server 2014, one of the noticeable changes is the ability to control transaction’s durability in the database...
View ArticleBe Careful! Backups Can Bite You!
Here is a riddle for you… You are requested to move a database from an old server to a new server. As a professional and experienced DBA, you prepare a checklist of actions to take, you script...
View ArticleSort – Is it Really a Blocking Iterator?
SQL Server has two types of execution plan iterators: Blocking and Non-Blocking. A non-blocking iterator gets rows in and sends rows out at the same time. For instance, the Nested Loops iterator gets...
View ArticleAuto Indexes REBUILD and REORGANIZE
If your database needs a complete index overhaul, you can do it automatically. This useful script rebuilds or reorganizes indexes according to thresholds you define. Reset the fill factor or leave it...
View ArticleTracking Progress of SQL Server Index Builds and Rebuilds
Let’s say you build or rebuild an index in SQL Server. Your users and boss are anxious to know when the table will stop being blocked and when their precious queries will run fast. What can you tell...
View ArticleWorking with Very Large Tables Like a Pro in SQL Server 2014
I presented my session – Working with Very Large Tables Like a Pro in SQL Server 2014 – in PASS Summit 2014. The session was also presented live on PASStv. I was very excited and honored to speak in...
View ArticleThe Truth About Index Fragmentation
In just a little while, I’m going to give a presentation at the PASS Performance Virtual Chapter. You can download the materials from my presentation here: The post The Truth About Index Fragmentation...
View ArticleParameterization Part 6: Simple vs. Forced Parameterization
This is the sixth post in the “Parameterization” series. In the previous posts I explained what parameterization is, how plan caching works in SQL Server, what parameter sniffing is, when it’s good and...
View ArticleHow to Handle Dynamic Rowsets
Sometimes you have a stored procedure that returns a rowset, and you need to insert the rowset into a temporary table in order to perform additional processing. That’s easy, right? You can simply...
View ArticleSQL Server Bugs That Might Bite You
I’m on my way to give a presentation at the PASS Database Administration Virtual Chapter about SQL Server bugs. All the materials from my presentation are available for you to download here: The post...
View ArticleRebuilding and Reorganizing Clustered Columnstore Indexes
Clustered Columnstore Indexes, as well as “regular” indexes, support the Rebuild and Reorganize operations. However, the meaning of those operations is different in the case of Columnstore. Before we...
View ArticleSQL Server Developer Tips that Can Save Your XXX
Last week I had the honor to present a seminar at Expert Days 2014, which is an annual conference for developers organized by E4D Solutions. I suggested the title “SQL Server Developer Tips that Can...
View ArticleThings I Learned in 2014
2015 is here! Last year I wrote about what I had learned in 2013, and I try to make it a tradition. So without further ado, here’s what I learned in 2014: SQL Server Columnstore Indexes are amazing....
View ArticleParameterization Part 7: Summary
This is a summary of the parameterization blog post series. If you read the previous posts in the series, then this summary can be a good way for you to recap what you’ve learned. If you haven’t read...
View Article