DISA STIGS Viewer

SQL Server must prevent unauthorized and unintended information transfer via Instant File Initialization (IFI).

Overview

Finding ID Version Rule ID IA Controls Severity
V-271327 SQLI-22-009900 SV-271327r1109250_rule   Medium
Description
The purpose of this control is to prevent information, including encrypted representations of information, produced by the actions of a prior user/role (or the actions of a process acting on behalf of a prior user/role) from being available to any current user/role (or current process) that obtains access to a shared system resource (e.g., registers, main memory, secondary storage) after the resource has been released back to the information system. Control of information in shared resources is also referred to as object reuse. When IFI is in use, the deleted disk content is overwritten only as new data is written to the files. For this reason, the deleted content might be accessed by an unauthorized principal until some other data writes on that specific area of the data file. Historically, transaction log files couldn't be initialized instantaneously. However, starting with SQL Server 2022 (16.x) (all editions), transaction log autogrowth events up to 64 MB can benefit from instant file initialization. The default auto growth size increment for new databases is 64 MB. Transaction log file autogrowth events larger than 64 MB can't benefit from instant file initialization. Instant file initialization is allowed for transaction log growth on databases that have transparent data encryption (TDE) enabled, due to the nature of how the transaction log file is expanded, and the fact that the transaction log is written into in a serial fashion.
STIG Date
Microsoft SQL Server 2022 Instance Security Technical Implementation Guide 2025-05-30

Details

Check Text (C-75370r1109026_chk)
Review system configuration to determine whether IFI support has been enabled (IFI is enabled by default).

Run the following query in SSMS:

SELECT
servicename
,instant_file_initialization_enabled
FROM sys.dm_server_services

If the column instant_file_initialization_enabled returns a value of "Y", then IFI is enabled.

Alternatively, navigate to Start >> Control Panel >> System and Security >> Administrative Tools >> Local Security Policy >> Local Policies >> User Rights Assignment >> Perform volume maintenance tasks.

The default SQL service account for a default instance is NT SERVICE\MSSQLSERVER or for a named instance is NT SERVICE\MSSQL$InstanceName.

If the SQL service account or SQL service SID has been granted "Perform volume maintenance tasks" Local Rights Assignment, this means that IFI is enabled.

Review the system documentation to determine if IFI is required.

If IFI is enabled but not documented as required, this is a finding.

If IFI is not enabled, this is not a finding.
Fix Text (F-75277r1109249_fix)
If IFI is not documented as being required, disable instant file initialization for the instance of SQL Server by removing the SQL Service SID and/or service account from the "Perform volume maintenance tasks" local rights assignment.

To grant an account the "Perform volume maintenance tasks" permission:

1. On the computer where the data file will be created, open the Local Security Policy application (secpol.msc).
2. In the left pane, expand "Local Policies" then select "User Rights Assignment".
3. In the right pane, double-click "Perform volume maintenance tasks".
4. Select "Add User or Group" and add the SQL Server service account.
5. Select "Apply", then close all Local Security Policy dialog boxes.
6. Restart the SQL Server service.
7. Check the SQL Server error log at startup.