Enable Instant File Initialization is easy in SQL Server 2016

Starting from SQL Server 2005, Microsoft introduced a feature called Instant File Initialization. By default, when you create a database, add a new data file, increase the size of an existing file,  in SQL Server first initialized by filling the files with zeros.

File initialization causes these operations to take longer. However, when data is written to the files for the first time, the operating system does not have to fill the files with zeros. To accomplish this we need to enable “Instant File Initialization” in SQL Server.  Prior to SQL Server 2016, to enable this feature you had to edit the Local Security Policy to give the account that runs the SQL Server service the “Perform volume maintenance tasks” right as shown in Figure 1

  1. Run secpol.msc on the server.
  2. Expand the Local Policies Folder
  3. Click on User Rights Assignment
  4. Go down to the “Perform Volume Maintenance Tasks” option and double click it
  5. Add your SQL Server Service account, and click OK out of the dialog.


Figure 1

Microsoft made this feature easy in SQL Server 2016, When you install SQL Server you have a choice to enable this feature under server configuration as show in Figure 2. You do not have to configure after installation, once you enable it will automatically grant required permission to the service account the SQL Server installed.


Figure 2

Hope you enjoyed the post!


Ramasankar Molleti

LinkedIn: LinkedIn Profile

Twitter: Twitter


About Ramasankar

My name is Ramasankar Molleti, and I have been working on various database systems (SQL Server, Oracle, Postgres, DynamoDB, Redshift) over 10 years, primarily focusing on Database Administration, Architect , Development and Business intelligence. I also have working experience on Amazon Web Services DevOps. I hold various Microsoft certifications (Microsoft Certified Information Technology Professional, Microsoft Certified Technology Specialist, and Microsoft Certified Solution Associate). Disclaimer The views expressed on this website/blog are mine alone and do not reflect the views of my company. All postings on this blog are provided “AS IS” with no warranties, and confers no rights. The owner of https://sqlram.wordpress.com will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.
This entry was posted in Database Administration. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s