Troubleshooting Guide: SQL Server Error 1448 – Remote Database Mirror Not Found
Why This Error Happens
Error 1448 typically occurs during database mirroring or Always On configuration when the principal server cannot locate the specified database on the mirror/secondary instance. This usually happens because the database name was mistyped, the database was never restored with NORECOVERY on the remote instance, or the mirroring endpoint is pointing to the wrong server/instance. In some cases, the remote database exists but was accidentally brought online (recovered), making it ineligible to act as a mirror target.
Step-by-Step Resolution Guide
Step 1: Verify Database Name and Existence on the Remote Instance
- Connect to the remote (mirror/secondary) SQL Server 2025 instance using SSMS or
sqlcmd. - Run
SELECT name, state_desc FROM sys.databases;to confirm the exact database name and state. - Ensure the name matches exactly (case sensitivity and whitespace) with what was specified in the
ALTER DATABASEor mirroring setup command on the principal.
Step 2: Confirm the Remote Database Is in NORECOVERY State
- Check the
state_desccolumn from Step 1 — it must showRESTORING, notONLINE. - If the database shows
ONLINE, it was recovered prematurely and cannot serve as a mirror target. - Restore the full backup and subsequent log backups again using:
RESTORE DATABASE [YourDB] FROM DISK = 'C:\Backups\YourDB.bak' WITH NORECOVERY;
RESTORE LOG [YourDB] FROM DISK = 'C:\Backups\YourDB_log.trn' WITH NORECOVERY;
Step 3: Validate Mirroring Endpoint and Network Configuration
- On both principal and mirror instances, verify the endpoint is correctly configured:
SELECT name, port, state_desc FROM sys.tcp_endpoints;
- Confirm the mirror server name used in
ALTER DATABASE [YourDB] SET PARTNER = 'TCP://MirrorServer:5022'matches the actual FQDN or hostname resolvable via DNS. - Check Windows Firewall rules on Windows Server 2025 to ensure port 5022 (or your custom mirroring port) is open for inbound/outbound TCP traffic.
Step 4: Reissue the Mirroring Command
- Once the database is confirmed in
RESTORINGstate and the endpoint/network path is validated, reissue the command from the principal server:
ALTER DATABASE [YourDB] SET PARTNER = 'TCP://MirrorServer:5022';
- Monitor the SQL Server Error Log and Windows Event Viewer (Application log) for confirmation that mirroring has started successfully.
Alternative or Verification Steps
- Run
SELECT * FROM sys.database_mirroring WHERE mirroring_state_desc IS NOT NULL;on the principal to confirm the mirroring session is synchronizing correctly. - If the issue persists, drop and recreate the mirroring endpoint on both servers, then redo the full backup/restore sequence with
NORECOVERYbefore reattempting theSET PARTNERcommand.