SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

Guy Glantser

Guy Glantser, Data Platform MVP, is the leader of the Israeli PASS chapter and also the CEO and founder of Madeira Data Solutions. His career has been focused on the Microsoft Data Platform for the past 20 years, performing various database roles as either an on-site DBA, an external consultant or a speaker. Guy is involved in many activities in the Microsoft Data Platform community. He occasionally speaks at community events, such as PASS Summit, SQLBits, SQL Saturdays and user groups around the world. He also co-hosts the SQL Server Radio podcast.

Which One is Better? IN or BETWEEN?

I just had an interesting case of performance tuning: a query with multiple predicates on a very large table. Something like this:

    EventType BETWEEN 1 AND 3
    OperatorId = 9876;


There was a non-clustered index on EventType and OperatorId (in that order).

The… Read more

7 comments, 4,026 reads

Posted in Guy Glantser on 9 March 2018

What is the CXPACKET Wait Type?

This wait type indicates that parallel plans execute on the server. This wait type doesn’t necessarily means there is a problem. It only points to the existence of parallelism. In many systems, this wait type is very common, usually the top 1. The fact that it’s so common means there… Read more

1 comments, 547 reads

Posted in Guy Glantser on 2 March 2018

Use Filtered Statistics to Improve Performance on Very Large Tables

Let’s say you have a very large table on a SQL Server 2012 Standard Edition instance. This means: old cardinality estimator and no partitioning. The table has a DATETIME column, which is ever-increasing, and it contains 5 years of data (it has to, due to regulations). The auto-update statistics kicks… Read more

1 comments, 331 reads

Posted in Guy Glantser on 2 March 2018

How to Troubleshoot Waiting Tasks Without Requests in SQL Server?

Usually, when I need to troubleshoot currently running requests, I use a combination of sys.dm_exec_requests and sys.dm_os_waiting_tasks. The former retrieves all the current requests, whether they are currently running or waiting. The latter retrieves all the current waiting tasks. So if a request is currently waiting, it will have… Read more

4 comments, 328 reads

Posted in Guy Glantser on 1 February 2018

Doing More with Less – My Productivity Guide


Houston, We Have a Problem


We are living in a crazy world. And it just gets more and more crazy all the time. The amount of tasks we are confronted with at any given point in time is crazy. The number of interruptions we have in a single… Read more

3 comments, 807 reads

Posted in Guy Glantser on 28 January 2018

How to Size Your Database Files?

Let’s say you need to create a new SQL Server database, which is going to grow very fast, but you don’t know how fast. What would be the initial size of the data file?


On one hand, you want to make it as large as possible in order to… Read more

0 comments, 1,693 reads

Posted in Guy Glantser on 8 January 2018

What is Graph Processing in SQL Server 2017?

There is a growing need for Graph Databases in the market. This is a type of database, which is capable of storing, representing and manipulating graphs easily and efficiently. Common use cases for using Graph Databases are social networks and network topologies. In a Graph Database, there are nodes (e.g.… Read more

0 comments, 489 reads

Posted in Guy Glantser on 8 January 2018

What is the Automatic Plan Correction in SQL Server 2017?

SQL Server 2017 brings a new interesting feature, that might be a game changer in some environments. I’m talking about Automatic Plan Correction. This feature automates the on-going tuning process of identifying regressed execution plans and then replacing them with the last known good plan. Let me explain…


One… Read more

0 comments, 471 reads

Posted in Guy Glantser on 25 December 2017

SQL Saturday Nepal 2017


I had the honor to visit Nepal and participate in SQL Saturday Nepal 2017. You can visit the event website here. I presented a session about “How to Use Parameters Like a Pro and Boost Performance”. From my experience, one of the common reasons for poor performance is… Read more

0 comments, 437 reads

Posted in Guy Glantser on 23 December 2017

How to Calculate Running Totals in SQL Server


In show #84 of the SQL Server Radio Hebrew Edition, Matan and I talked about how to calculate running totals in SQL Server. I promised to upload a script with a complete demo of all the possible methods. So here it is.



The script first… Read more

0 comments, 2,789 reads

Posted in Guy Glantser on 19 November 2017

Customer Satisfaction Survey Results


In the last couple of months, we sent our first customer satisfaction survey to all our customers. We collected the responses, analyzed them, and derived some interesting conclusions too. It’s time to share the results!


First, the response rate was 16%. We tried to increase the response rate… Read more

0 comments, 426 reads

Posted in Guy Glantser on 18 November 2017

What is the Role of the UPDATE Lock in SQL Server?

The most common types of locks in SQL Server are the SHARED (S) lock and the EXCLUSIVE (X) lock. The former is used to lock resources (e.g. rows, keys, tables) for read, and the latter is used to lock resources for write operations. The first is called SHARED, because multiple… Read more

4 comments, 458 reads

Posted in Guy Glantser on 18 November 2017

Something Cool We Learned Today!


We have many customers, and we work on lots of projects. Each project is different in so many ways: the business environment, the system architecture, the data platform, the people, the challenges…
This is why we get to learn so many new things on a daily basis, which is… Read more

3 comments, 387 reads

Posted in Guy Glantser on 16 November 2017

Can I pause or resume an index rebuild operation?

One of the cool new features in SQL Server 2017 (and currently also in public preview in Azure SQL Database) is the option to pause and resume an online index rebuild operation.

This option can be useful for several use cases. Imagine you have a very large index, which takes… Read more

0 comments, 705 reads

Posted in Guy Glantser on 16 November 2017

Why I Believe in the Data Architecture Review



We have a solution called Data Architecture Review. With this solution, we conduct a complete review of the customer’s data environment. We collect a lot of data from the servers, analyze it, and produce a list of recommendations.


In most cases, this is the entry point… Read more

2 comments, 1,687 reads

Posted in Guy Glantser on 23 October 2017

Customer Satisfaction Survey


We decided to create a customer satisfaction survey and send it to all our customers. The goal of this post is to share the story about our journey – why we decided to do that, and how we did it…


One of our core values is service. We… Read more

0 comments, 581 reads

Posted in Guy Glantser on 1 September 2017

Working with Very Large Tables


Recently I presented an online session with the title “Working with Very Large Tables Like a Pro in SQL Server 2016”. The session was hosted in the PASS Database Administration Virtual Group. You might be surprised, but I was talking about how to work with very large tables… Read more

0 comments, 3,229 reads

Posted in Guy Glantser on 26 July 2017

What Do You Do When Performance Sucks?


So you are a SQL Server DBA, and you are responsible for a database, which gives you a hard time. Users constantly complain about poor performance, and the developers blame the database (what else?). It’s time to dig in and do some serious performance tuning once and for all.… Read more

0 comments, 502 reads

Posted in Guy Glantser on 16 May 2017

My Session about SQL Server Parameterization


Last month I presented a session in the wonderful GroupBy online conference about SQL Server parameterization. The title of the session was “How to Use Parameters Like a Pro and Boost Performance”.


Here is the abstract:


“Parameters are a fundamental part of T-SQL programming, whether they are… Read more

2 comments, 486 reads

Posted in Guy Glantser on 10 May 2017

Availability Group on SQL Server 2016

The Challenge

One of our clients in the gaming industry wanted to set up a high availability solution in their data center in the UK. They had a single standalone SQL Server 2014 instance (Enterprise Edition) running on Windows Server 2012 R2, and they wanted to make sure that if… Read more

3 comments, 1,376 reads

Posted in Guy Glantser on 1 February 2017

Older posts