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

Troubleshooting Guide: SQL Server Error 3294 – URL Device Type Limited to a Single Device

Why This Error Happens

SQL Server 2025 enforces a restriction where BACKUP and RESTORE statements using the URL device type can only reference a single backup device per operation, unlike disk-based backups which support backup striping across multiple devices. Error 3294 is triggered when a T-SQL script explicitly lists multiple URL devices in the TO or FROM clause of a backup/restore command. This is a hardcoded engine limitation tied to how SQL Server manages Azure Blob Storage/URL-based credentials and block blob allocation, not a configuration or permissions defect.

Step-by-Step Resolution Guide

Step 1: Review the Offending T-SQL Script

  • Open the backup or restore script in SQL Server Management Studio (SSMS) or Azure Data Studio.
  • Locate the BACKUP DATABASE ... TO URL = '...' or RESTORE DATABASE ... FROM URL = '...' statement.
  • Check whether multiple URL = 'https://...' entries are listed in a comma-separated fashion within the same command.

Step 2: Consolidate to a Single URL Device

  • Rewrite the script to reference only one URL device per backup/restore operation.
  • Example corrected syntax:
  BACKUP DATABASE [YourDatabase]
  TO URL = 'https://yourstorageaccount.blob.core.windows.net/backupcontainer/YourDatabase.bak'
  WITH CREDENTIAL = 'YourSQLCredential', COMPRESSION, STATS = 10;
  • If you require splitting large backups, instead use a single URL target with MAXTRANSFERSIZE and BLOCKSIZE options to optimize throughput rather than multiple device entries.

Step 3: Validate the SQL Credential and Container Path

  • Confirm the CREDENTIAL object mapped to the storage container is valid and not pointing to multiple inconsistent endpoints.
  • Run: SELECT * FROM sys.credentials; to verify only one credential maps per container/storage account.
  • Ensure the Shared Access Signature (SAS) token or Storage Account Key referenced in the credential has not expired.

Step 4: Re-run the Backup/Restore Job

  • Execute the corrected single-URL script manually in SSMS to confirm Error 3294 no longer appears.
  • If running via SQL Server Agent Job, update the job step’s command text with the corrected single-device syntax and save the job.

Alternative or Verification Steps

  • Verify success by checking msdb.dbo.backupset and backupmediafamily tables to confirm the backup registered a single media family with device_type = 7 (URL).
  • If multiple backup targets are a hard requirement, use separate scheduled jobs writing to different URL destinations sequentially, rather than attempting simultaneous multi-URL striping within one command.