SQL SERVER – How to Turn On / Enable Instant File Initialization?

To Enable Instant File Initialization for data files, I check the Windows service identity and volume-maintenance privilege. Eligibility still matters.

An empty storage bin is ready for tiles without changing its physical capacity.

SELECT servicename, service_account, instant_file_initialization_enabled
FROM sys.dm_server_services
WHERE servicename LIKE N'SQL Server (%';

Enable data-file IFI in Windows

Use the intended server’s policy and verify the Database Engine identity first. Microsoft recommends its service SID for this privilege.

  1. Open Local Security Policy with secpol.msc on the SQL Server host.
  2. Expand Local Policies and select User Rights Assignment.
  3. Open Perform volume maintenance tasks.
  4. Add the intended Database Engine service SID or approved service account. Apply the change.
  5. Schedule a Database Engine service restart so the new privilege takes effect.
  6. Check the startup error log and rerun the status query above.

The grant belongs to the Database Engine identity, not my SSMS login. Protect database and backup files with appropriate access controls.

Original volume-maintenance user-right dialog.
Original volume-maintenance user-right dialog.

Group Policy may govern or overwrite this right. Supported SQL Server Setup versions can grant it. Data-file IFI avoids zero-filling during eligible allocations. It doesn’t reserve disk capacity or make every file operation instantaneous.

TDE and file type affect eligibility. SQL Server 2022 separately allows eligible log autogrowth up to 64 MB to benefit from IFI. That log behavior doesn’t require the data-file privilege. The old blanket rule about logs no longer describes every current release.

Reference: IFI scope, Windows privilege and log-growth changes.

Related reading

Instant initialization is not universal zero-filling avoidance, it is an allocation optimization with file-type and release restrictions.

Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.


Discover more from SQL Authority with Pinal Dave

Subscribe to get the latest posts sent to your email.

Computer Network, SQL Server, Starting SQL
Previous Post
ROWLOCK Hint and Slow Performance in SQL Server
Next Post
Decoding wait_resource: From a KEY or PAGE Lock to the Table

Related Posts

1 Comment. Leave new

  • We use redgate sql backup to restore to dev. This uses a non sql server services account to restore. I assume this account should also get instant file initialization permissions (can’t find any documentation on it to confirm)?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.