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!

  • Back to Basics,  Performance Tuning

    DMV’s for the Beginner

    May 15, 2019 /

    I give performance presentations at many different events to all levels of SQL Server professionals. Over time I’ve noticed that some DBAs and developers have never looked at the dynamic management views (dmv’s)  that are available within SQL Server starting with SQL Server 2005. These DMVs are useful means to determine what is going on with a particular SQL Server instance. So, in this post I am going to list a few of my very favorite DMVs as a reference for those who may be new to them. Performance Tuning These dynamic management views are what I use first when looking to any performance issues or I need to know…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    SQL Server Updates Tricked Me for Years

    February 21, 2018

    SQL Server Data Collection and Management Data Warehouse

    October 3, 2018

    The Mystery of the Locked-Up Database -Scooby Dooing Episode 6

    September 24, 2025
  • Back to Basics,  Performance Tuning

    What is Implicit Conversion?

    April 17, 2019 /

    Another quick post of simple changes you can make to your code to create more optimal execution plans. This one is on implicit conversions. An implicit conversion is when SQL Server must automatically convert a data type from one type to another when comparing values, moving data or combining values with other values. When these values are converted, during the query process, it adds additional overhead and impacts performance. Here is a great chart by Microsoft that shows you conversions and which will cause an implicit or explicit conversion. In this post I will not go into explicit, just know that is what you explicitly tell SQL Server to CAST…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Caution When Dropping Unused Indexes on an Azure SQL Database

    August 12, 2020

    Master of None

    October 8, 2015

    The FAST number_rows Query Hint

    October 16, 2019
  • Back to Basics,  Performance Tuning

    What’s a Key Lookup?

    April 3, 2019 /

    One of the easiest things to fix when performance tuning queries are Key Lookups or RID Lookups. The key lookup operator occurs when the query optimizer performs an index seek against a specific table and that index does not have all of the columns needed to fulfill the result set. SQL Server is forced to go back to the clustered index using the Primary Key and retrieve the remaining columns it needs to satisfy the request. A RID lookup is the same operation but is performed on a table with no clustered index, otherwise known as a heap.  It uses a row id instead of a primary key to do…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    It’s time to speak again!

    December 1, 2015

    What is Automatic Tuning in Azure SQL Database

    August 28, 2018

    Filtered Index Basics

    May 22, 2019
  • Back to Basics

    Enable Mail Profile – Back to Basics

    March 13, 2019 /

    I’ve seen many people go through the trouble of setting up database mail and configuring SQL Agent Alerts only to realize it’s not working. The reason in the cases I’ve seen is because they have simply neglected to assign a mail profile to SQL Agent. This is way more common than you would think, thus I wrote this quick blog. This check box and drop down can sometimes lead to hours of troubleshooting if you don’t know where to look. In order to receive the alerts, you must enable a mail profile. This would be the profile  created during the Database Mail configuration process. To configure SQL Server Agent to…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Initial SQL Server Configurations

    October 19, 2015

    How Much Will Compression Really Gain Me in SQL Server?

    October 31, 2018

    Hide and Group Columns in SSRS Using a Parameter

    December 9, 2016
  • Performance Tuning

    How Your Hypervisor Can Impact Your CPU

    March 6, 2019 /

    Recently I had a client complain of chronic high CPU utilization. The performance of their SQL Server had degraded, and it appeared to be related to higher than normal CPU utilization in conjunction with symptoms of unresponsive user queries.  The root cause was twofold—a third party hosting provider had overallocated virtual processors on the physical host where the virtual machine (VM) running SQL Server was residing, as well as a recent upgrade from a version of VMWare that was not patched for Spectre and Meltdown. The host had 16 physical cores and was hyperthreading (making it effectively 32 cores) until the hosting provider patched from VMWare 5.5 to a newer…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    November #SQLChat – How to Build your Name Recognition and SQL Network

    November 12, 2015

    Quick Model Database Tidbit

    October 30, 2017

    Comparing Execution Plans

    June 19, 2019
  • Azure

    Azure Key Vault Logging

    February 20, 2019 /

    Following up from last week’s post on Azure Key Vault in this blog I will show you how to the setup Key Vault logging I mentioned for auditing access and usage of your key vault. Once we walk through the process of enabling your logging, we will configure Azure Log Analytics as a way to analyze that data. Azure Log Analytics uses advanced analytics and machine learning to analyze your azure log files. It adds intelligent insights to your monitored data such as Key Vault usage and access  as well as latency in key retrieval from your Audit Event Logs. Here is the PowerShell Script you can use to enable…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    So let’s talk naming conventions

    September 15, 2015

    So How Did It Go?

    September 28, 2015

    How Your Hypervisor Can Impact Your CPU

    March 6, 2019
  • Azure

    What is Azure Key Vault?

    February 6, 2019 /

    Keys and secrets (AKA passwords)  are an essential part of data protection management not only on-premises, but within the cloud as well. One of the many advantages of cloud is the ability to have a secure, persisted key store. If you have used a password manager like Keepass or 1Password, you can consider Azure Key Vault to be an enterprise level password manager, but also a lot more. One of the functions that Azure Key Vault supports is for you to keep small secrets such as passwords, tokens, connection strings, API keys as well as encryption keys and certificates in a safe tightly controlled secure location in the cloud. It…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Ooops! Was that me? (Blog Challenge)

    January 10, 2017

    Why DBAs Still Need to Know the Foundations of SQL Server

    August 19, 2025

    Introduction to the performance features on SQL Server on Linux

    December 4, 2019
  • Azure

    Azure Advisor

    January 30, 2019 /

    Azure offers a lot of value-added services included with the price of what you pay . One of the things really, I like is Azure Advisor. this service provides information about your entire Azure landscape. It gives you a complete overview of your system needs including possible ways to save money. High Availability shows you ways to improve the continuity of your business-critical applications. Security detects threats and vulnerabilities that might lead to security breaches. Performance shows you ways to speed up your applications. Cost give you ways to reduce your overall Azure spreading. As you can see from the above screenshot, we have several recommendations on how we can…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    In Memory Table Indexes

    January 22, 2020

    Ooops! Was that me? (Blog Challenge)

    January 10, 2017

    System-Versioned Temporal Tables

    August 30, 2017
  • Back to Basics

    Scheduling things to Run in SQL Server

    January 23, 2019 /

    A key part of the SQL Server Agent is the ability to schedule jobs. While you can create one schedule for each agent job, frequently with applications like Reporting Services, users use Shared Schedules across multiple jobs. For instance, you can set a schedule to run at 8 am on week days or run every 2 hours or pick from a predefined list of schedules that already exist in the MSDB database. These are very convenient. However, if you choose to use these be sure you are keeping track of what is running for each of these shared schedules. You should not have everything running at once. This is an…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    So How Did It Go?

    September 28, 2015

    Free Training 24HOP

    April 18, 2018

    Synchronous VS Asynchronous Statistics Updates

    October 25, 2017
  • New SQL Version

    Approximate COUNT DISTINCT

    January 3, 2019 /

    We all have written queries that use COUNT DISTINCT to get the unique number of non-NULL values from a table. This process can generate a noticeable performance hit especially for larger tables with millions of rows. Many times, there is no way around this. To help mitigate this overhead SQL Server 2019 introduces us to approximating the distinct count with the new APPROX_COUNT_DISTINCT function. The function approximates the count within a 2% precision to the actual answer at a fraction of the time. Let’s see this in action. In this example, I am using the AdventureworksDW2016CTP3 sample database which you can download here.  SET STATISTICS IO ON SELECT COUNT(DISTINCT([SalesOrderNumber])) as DISTINCTCOUNT…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Being a Woman in the SQL Community

    February 26, 2020

    TIL: Microsoft Azure Part 1

    May 17, 2017

    The Mystery of the Locked-Up Database -Scooby Dooing Episode 6

    September 24, 2025
34567

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

  • Resizing Tempdb (When TEMPDB Wont Shrink)
    Resizing Tempdb (When TEMPDB Wont Shrink)
  • What’s a Key Lookup?
    What’s a Key Lookup?
  • Please Don’t Do This! Default Index Fill Factor
    Please Don’t Do This! Default Index Fill Factor
  • Understanding Columnstore Indexes in SQL Server Part 1
    Understanding Columnstore Indexes in SQL Server Part 1
  • How to get started with Always Encrypted for Beginners Part 1
    How to get started with Always Encrypted for Beginners Part 1
  • Memory Optimized Tables in SQL Server
    Memory Optimized Tables in SQL Server
  • TIL: Microsoft Azure Part 1
    TIL: Microsoft Azure Part 1
  • DMV’s for the Beginner
    DMV’s for the Beginner
  • SQL Index Creation Using DROP EXISTING= ON
    SQL Index Creation Using DROP EXISTING= ON
  • Hmmm... What’s This? Date Correlation Optimization in SQL Server
    Hmmm... What’s This? Date Correlation Optimization in SQL Server
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...