Resuming Index Operations With Different Options

Published On: 2019-11-22By:

Starting with SQL Server 2017, Microsoft introduced the ability to pause and then resume index rebuilds.  This was a great feature and with the release of SQL Server 2019, we now have the ability to do the same functionality on the actual create index process. The ability to pause and then resume index build processes is invaluable to most organizations.   Previously, most DBAs had to carefully orchestrate index operations around daily activities, work loads, and reporting needs.  These newer features help to elevate a lot of these scheduling issues that DBAs routinely encounter.

Additionaly, with the release in SQL Server 2017, a new system view, sys.index_resumable_operations was also introduced.   This system view monitors and checks the execution status of a resumable index rebuild or creation.  You can use this view to see which table might have a resumable operation currently pending.

During my colleague Monica Rathbun’s (B|T) precon at PASS Summit 2019, I got into a conversation with Anders Pedersen (B|T) about these features.  He had asked the question ; when resuming an index create or rebuild operation, could you specifically change the original process options which were set?  In other words, change the MAXDOP or duration from the original command.

The answer is, Yes.  You can in fact change those options when the RESUME command is issued.

Let’s take a look.

Resuming an Index Create or Rebuild

Documentation on ALTER INDEX provides which options we can set when resuming a rebuild or creation operation:

<resumable_index_option> ::=
    MAXDOP = max_degree_of_parallelism
    | MAX_DURATION =<time> [MINUTES]
    | <low_priority_lock_wait> 

                          ABORT_AFTER_WAIT = { NONE | SELF | BLOCKERS } ) 

This means that we can change the MAXDOP, MAX_DURATION, and WAIT_AT_LOW_PRIORITY.

Using WideWorldImporters, I issued a resumable CREATE INDEX command with a MAXDOP = 1

USE WideWorldImporters

-- Executed in another session
ALTER INDEX is_fact_sale_profit on Fact.SALE PAUSE

Checking our new system view, sys.index_resumable_operations we can now see that the process has been paused.

We can see that the process is a CREATE index along with the actual SQL syntax that was provided to the instance.

Using Live Query Statistics we can also see the execution plan that depicts the MAXDOP = 1

We can then issue a RESUME command and change our options.

ALTER INDEX ix_fact_sale_profit on Fact.Sale RESUME WITH (MAXDOP=2,MAX_DURATION=1)

Using Live Query Statistics again, we can now see that the MAXDOP=2 along with the parallelism operator.

In this case, the max_duration was set to 1 minutes.  The create process did not take longer than a minute, however, if it had the process would have paused automatically.  Once it has been paused, the rebuild/create process would have to manually resumed.


One additional thing to note is that this resumable process is durable and will persist from a restart of the SQL Server instance.  The metadata about the index create or rebuild will remain ready to be resumed whenever ready.  This way you will not have to restart the entire process over again if the SQL instance is forced to reboot.

Furthermore, because the data is contained within the user database itself, if the database is involved in an availability group, you could failover to your secondary replica and re-issue the RESUME command.  Assuming the database is online and functional, the index operation will resume accordingly.


Microsoft continues to evolve the SQL Server platform with every turn of the corner. Introducing resumable index rebuild and creation operations will provide a great benefit for database administrators.  Scheduling index maintenance can now be easily scheduled to match their production workloads to ensure their indexes are rebuild and created in an appropriate manner.

Furthermore, for you Azure SQL DB users, these features are already present in your database in Azure.  Take advantage of them if you have a highly concurrent workload to ensure minimal disruption to your production environment.

© 2019, John Morehouse. All rights reserved.

Contact the Author | Contact DCAC


Globally Recognized Expertise

As Microsoft MVP’s and Partners as well as VMware experts, we are summoned by companies all over the world to fine-tune and problem-solve the most difficult architecture, infrastructure and network challenges.

And sometimes we’re asked to share what we did, at events like Microsoft’s PASS Summit 2015.

Awards & Certifications

Microsoft Partner   Denny Cherry & Associates Consulting LLC BBB Business Review    Microsoft MVP    Microsoft Certified Master VMWare vExpert
INC 5000 Award for 2020    American Business Awards People's Choice    American Business Awards Gold Award    American Business Awards Silver Award    FT Americas’ Fastest Growing Companies 2020   
Best Full-Service Cloud Technology Consulting Company       Insights Sccess Award    Technology Headlines Award    Golden Bridge Gold Award    CIO Review Top 20 Azure Solutions Providers
Share via
Copy link