How to fix Error 944 on Windows Server 2025 / Windows 11

Why This Error Happens

Error 944 occurs when SQL Server 2025 detects that a database’s internal version number is lower than the current engine version and attempts an automatic upgrade during the startup or attach process. This typically happens after an in-place upgrade from an older SQL Server version, a restore from an older backup, or when the database was left in an inconsistent state due to insufficient disk space, interrupted shutdown, or corrupted system catalog pages. Because this conversion process requires exclusive write access to system tables, it can fail or stall if permissions, disk I/O, or file integrity issues prevent SQL Server from completing the version upgrade.

Step-by-Step Resolution Guide

Step 1: Verify Disk Space and File Accessibility

  • Check that the drive hosting the .mdf and .ldf files has at least 20% free space, since version conversion requires temporary write operations.
  • Navigate to C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\ (adjust instance folder name as needed) and confirm the database files are not marked Read-Only.
  • Run Get-Acl in PowerShell against the data files to confirm the SQL Server service account has Full Control permissions.

Step 2: Check SQL Server Error Logs for Conversion Status

  • Open SQL Server Management Studio (SSMS) and connect to the instance, or review logs directly at C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG.
  • Search for subsequent messages following Error 944, such as “Converting database… to the current version” completing successfully or failing with a secondary error (e.g., 5172 or 823, indicating file corruption).
  • If the log shows the conversion is stuck, restart the SQL Server service via services.msc or net stop MSSQLSERVER && net start MSSQLSERVER to retrigger the upgrade attempt cleanly.

Step 3: Run Database Consistency Checks

  • Set the database to single-user mode using: ALTER DATABASE [YourDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
  • Execute DBCC CHECKDB ('YourDB') WITH NO_INFOMSGS, ALL_ERRORMSGS; to detect and report any corruption blocking the version upgrade.
  • If corruption is found, review repair options (REPAIR_REBUILD first, REPAIR_ALLOW_DATA_LOSS only as a last resort).

Step 4: Restore From a Known-Good Backup (If Conversion Fails)

  • If the database remains stuck in “In Recovery” or “Suspect” mode after conversion attempts, restore the last verified full backup using SSMS or RESTORE DATABASE [YourDB] FROM DISK = 'D:\Backups\YourDB.bak' WITH REPLACE;
  • Ensure the backup originates from a supported source version (SQL Server 2016 or later) since SQL Server 2025 cannot upgrade databases from versions older than two major releases.

Alternative or Verification Steps

  • After remediation, run SELECT DATABASEPROPERTYEX('YourDB', 'Version'); and confirm it matches the expected internal version for SQL Server 2025 (904 or higher).
  • If the issue persists, detach the database, copy files to a fresh SQL Server 2025 instance on a test server, and re-attach using CREATE DATABASE [YourDB] ON (FILENAME = '...') FOR ATTACH; to isolate whether the problem is instance-specific or data-specific.