A Shot of SQLEspresso

SQL Blogs by Monica Morehouse (Rathbun)

  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer
  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer

No Widgets found in the Sidebar Alt!

  • Performance Tuning

    Trace Flags That Are Now Defaulted Behaviors in SQL Server

    December 18, 2019 /

    If you have ever attended one of my performance tuning sessions, you know I tend to talk about  trace flags.  Trace Flags can help fix performance issues and some are now defaulted in later SQL Server versions. In my opinion, when a trace flag’s behavior defaulted in a version, then you should potentially put them in place within environments that do not have them implemented. Below, are a few of these particular traces flag along with Microsoft’s definition of what each trace flag does, taken straight from MS documents.  I have also included a brief commentary on each one.  As with any change, you should be sure to thoroughly test…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Please Don’t Do This! Default Index Fill Factor

    September 6, 2017

    SQL Server Vulnerability Assessment

    December 12, 2018

    Synchronous VS Asynchronous Statistics Updates

    October 25, 2017
  • Back to Basics

    Install ALL Things SQL Server… What?

    November 26, 2019 /

    Does your server look like this? Many of us have inherited a SQL Server instance that has all SQL Services installed. Someone, maybe even you, went through the SQL Server installation process using GUI and checked every option available to them, then just clicked Next, Next, Next and then Install. If this is your environment, please take a moment to evaluate and decide which of these services that are required. From a performance tuning perspective, it is important to only run the services that you need. Each of these services can consume resources on your server. Sharing resources reduces what youe SQL Server Engine, SQL Server (MSSQLSERVER) or named instance…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Trace Flags That Are Now Defaulted Behaviors in SQL Server

    December 18, 2019

    It’s time to speak again!

    December 1, 2015

    Hide and Group Columns in SSRS Using a Parameter

    December 9, 2016
  • Performance Tuning

    SQL Server Statistics Health Reminder

    September 18, 2019 /

    I’ve written about statistics in SQL Server a few times now. Through conversations  I am reminded that not everyone keeps their table statistics up to date. Keeping your statistics up to date is one of the more critical components of SQL Server performance issues. Please be sure you are doing more than just index maintenance to maintain your statistics.  Index maintenance  only maintains statistics created by indexes and single field predicate created table statistics. There are also column statistics that need to be maintained that are created by predicates usage in your queries or even manually created. For each insert, update, or delete the distribution of your data changes and…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Everything is coming up ACE’s

    October 28, 2015

    In Memory Table Indexes

    January 22, 2020

    New Resumable Online Index Create SQL Server 2019

    November 28, 2018
  • Back to Basics,  Quick and Dirty

    Quick SSMS Tip

    September 11, 2019 /

    It is widely known that I am a horrible speller and hate to type code. I tend to use a lot of code snippets and reuse code to avoid writing it. So, when I find little tips that make coding easier for me, I like to share. Did you know that you can surround your code with a click of a button with IF, BEGIN END, WHILE code blocks? SQL Server Management Studio (SSMS) gives us the basic structure of a Transact-SQL statement code block as a starting point. Take Look In SSMS In a query window, Right Click and Choose Surround With (note the hot keys of Ctrl+K or…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    5 Ways to Examine Cardinality Metrics

    May 2, 2018

    Template Explorer Gold Mine in SQL Server Management Studio

    March 27, 2018

    Back to Basics: Why not parameterize?

    December 23, 2015
  • Performance Tuning

    What SQL Server Performance & Management Tools Do I Use?

    September 4, 2019 /

    Several times I’ve been asked what tools are in my performance tuning and SQL Server management arsenal, so I decided to just create this blog to list them out for you. Keep in mind, these are ones I personally use. There are many more out there that the community uses. Feel free to comment with any you may use that is not on my list. Community Tools (Free)   Ola Hallengren’s Maintenance Scripts- Index Maintenance, Integrity and Backup Scripts https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html   Glenn Berry’s Diagnostic Scripts -Various scripts based on DMVs to extract SQL Performance statistics and information  https://www.sqlskills.com/blogs/glenn/category/dmv-queries/   Adam Machanic sp_WhoIsActive See what is currently going on in SQL…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    DMV’s for the Beginner

    May 15, 2019

    How Much Will Compression Really Gain Me in SQL Server?

    October 31, 2018

    Keep It Simple Stupid

    July 24, 2019
  • Indexes

    Are My SQL Server Indexes Being Used?

    August 28, 2019 /

    Indexes can be incredibly beneficial to your database performance; however, they do come with a cost—indexes both consume storage space and affect insert performance. Therefore, it is important as part of your index maintenance procedures that you periodically check to see if your indexes are being used. Many times, indexes are created in the belief they are needed but in fact they are never used. You can reduce that IO overhead on inserts when you remove unnecessary indexes. How Do You Find Them? Glenn Berry (B|T) has a fantastic script as part of his diagnostic scripts (link) that helps identify index utilization. In his diagnostic scripts it is listed as…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Filtered Index Basics

    May 22, 2019

    Attending Summit as a New Leader

    November 6, 2015

    So How Did It Go?

    September 28, 2015
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 3

    July 17, 2019 /

    My last two blogs were on understanding columnstore and creating columnstore indexes. In this post, I will touch on one last topic, when to use columnstore indexes. As noted in my prior posts these indexes are designed for large data warehouse workloads, not normal OLTP workload tables. As with any index design it is important to know your data and what you will be using the data for. Be sure to look to what types of queries you will be running against it, as well as how the data is loaded and maintained. Let’s look at a few questions you should ask yourself before deciding to implement a columnstore index.…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    T-SQL Tuesday #84 – Helping New Speakers

    November 8, 2016

    Static Data Masking (SSMS 18.0 Preview)

    December 19, 2018

    Quick Tip: Remove CONVERT\CAST from your WHERE\JOIN clauses

    March 28, 2022
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 2

    July 10, 2019 /

    In my last blog I explained what a columnstore index is, in this blog, we will dive into creating a clustered columnstore index and look at the performance differences the index can make. Let’s get started. Using AdventureworksDW2016CTP3 we will work with the FactResellerSalesXL table which has 11.6 million rows in it. The simple query we will use as a demo just selects the ProductKey and returns some aggregations grouping them by the different product keys. First, we will run the query with no existing columnstore index and only using the current clustered rowstore (normal) index. Note that I turned on SET STATISTICS IO and TIME on. These two SET…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    The Case for Scooby-Dooing: Solving SQL Server Mysteries Like a Pro– Scooby Dooing Episode 8

    October 8, 2025

    Scooby Dooing Episode 9: The Case of the Artificially Intelligent Villain

    October 17, 2025

    Scooby Dooing Episode 10: The Case of the Copy-and-Paste Consultant

    November 4, 2025
  • Indexes,  Performance Tuning

    Understanding Columnstore Indexes in SQL Server Part 1

    June 26, 2019 /

    Recently I reviewed filtered indexes, this time let’s look at columnstore indexes. These indexes are very useful for data warehouse workloads and large tables. They can improve query performance by a factor of 10 in some cases, so knowing and understanding how they work is important if you work in an environment with larger scaled data. Now, I admit when these first were introduced in SQL Server 2012 I found them very intimidating (additionally, you couldn’t update them directly). For me, anytime you say columnstore, my mind tends to set off alarms saying wait stay away, this is too complicated. So, in this post I am going to try and…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Does Your Code Have a Preamble?

    October 18, 2017

    Respectfully Responding

    June 14, 2018

    The Mystery of SQL Server 2025’s New Tricks – Scooby Dooing Episode 5

    September 17, 2025
  • Back to Basics,  Performance Tuning

    Comparing Execution Plans

    June 19, 2019 /

    When you run a query twice, and get dramatically different run times, your first step can be to try to identify the differences in execution plans. For many that means running  the two different queries (before & after) and splitting you screen in order to visually compare the plans. Did you know SQL Server Management Studio gives you the option to compare to different execution plans? It makes it easy not only to visualize the differences, but it also shows you detail properties that allow you to dive into the numbers. This functionality was introduced with SQL Server 2016, and is also part of the functionality of the Query Store…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Why I Go to Summit Each Year?

    October 11, 2017

    Back up Encryption for SQL Server

    September 5, 2018

    Caution When Dropping Unused Indexes on an Azure SQL Database

    August 12, 2020
23456

About Me

Monica Morehouse (Rathbun)

Microsoft MVP, Performancing Tuning Expert, Leader Hampton Roads SQL Server User Group, Read More…

Consulting

Sessions List

Favorite Tidbits

  • Reminder to Developers

Topic Categories

  • Azure
  • Back to Basics
  • Configurations
  • Data Masking
  • DevOps
  • Encryption
  • Idera Ace
  • Important Links
  • Indexes
  • Lone DBA
  • Misc
  • MVP
  • New SQL Version
  • Performance Tuning
  • Posts with Scripts
  • Problems & Solutions
  • Quick and Dirty
  • Security
  • Speaking
  • SQL Family
  • SQLSaturday
  • SSRS
  • Summit
  • Training
  • TSQL Tuesday
  • Uncategorized

Top Posts & Pages

  • What’s a Key Lookup?
    What’s a Key Lookup?
  • Comparing Execution Plans
    Comparing Execution Plans
  • DMV’s for the Beginner
    DMV’s for the Beginner
  • TIL: Microsoft Azure Part 1
    TIL: Microsoft Azure Part 1
  • Resizing Tempdb (When TEMPDB Wont Shrink)
    Resizing Tempdb (When TEMPDB Wont Shrink)
  • Tempdb Performance Improvements in SQL Server 2022 are Dramatic
    Tempdb Performance Improvements in SQL Server 2022 are Dramatic
  • Memory Optimized Tables in SQL Server
    Memory Optimized Tables in SQL Server
  • SQL Server Vulnerability Assessment
    SQL Server Vulnerability Assessment
  • So let’s talk naming conventions
    So let’s talk naming conventions
  • SSRS Report Won’t Render in VS Preview
    SSRS Report Won’t Render in VS Preview
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...