嘗試數據庫被標記為RESTORING的處理方式
  嘗試數據庫被標記為RESTORING的處理方式 
 /****
 by select left('claro',2),in 西安 ,2009-03-27 00:29:23.450
 Microsoft SQL Server 2005 - 9.00.1406.00
  (Intel X86)
  Mar 3 2007 18:40:02
  Copyright (c) 1988-2005 Microsoft Corporation
  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
 ****/
 USE  [master]
 GO
 -->1. 查詢數據庫狀態
 select  state_desc , name ,user_access_desc from sys.databases where name = 'db'
 --state_desc name user_access_desc
--RESTORING Db MULTI_USER
 
 -->2. 修改數據庫狀態
 ALTER  DATABASE [Db] SET ONLINE
 -- 消息 5052 ,級別 16 ,狀態 1 ,第 1 行
 -- 當數據庫處於 Restoring 狀態時,不允許 ALTER DATABASE 。
 -- 消息 5069 ,級別 16 ,狀態 1 ,第 1 行
 --ALTER DATABASE 語句失敗。
 
 -->3. 設置數據庫狀態為緊急恢復模式
 ALTER  DATABASE [Db] SET EMERGENCY
 -- 消息 5052 ,級別
 16 ,狀態 1 ,第 1 行
 -- 當數據庫處於 Restoring 狀態時,不允許 ALTER DATABASE 。
 -- 消息 5069 ,級別 16 ,狀態 1 ,第 1 行
 --ALTER DATABASE 語句失敗。
 
 -->4. 設置數據庫狀態為單用戶模式
 ALTER  DATABASE [Db] SET SINGLE_USER
 -- 消息 5052 ,級別 16 ,狀態 1 ,第 1 行
 -- 當數據庫處於 Restoring 狀態時,不允許 ALTER DATABASE 。
 -- 消息
5069 ,級別 16 ,狀態 1 ,第 1 行
 --ALTER DATABASE 語句失敗。
 
 -->5.CHECKDB 檢查
 DBCC  CHECKDB (db ,REPAIR_ALLOW_DATA_LOSS )
 -- 消息 927 ,級別 14 ,狀態 2 ,第 1 行
 -- 無法打開數據庫 'Db' 。該數據庫正在進行還原。
 
 -->6. 嘗試用備份集繼續還原
 RESTORE  DATABASE [Db] FROM DISK = N 'c:/db.bak' WITH FILE = 1 , NOUNLOAD , REPLACE ,
 STATS = 10
 GO
 -- 已處理百分之 13 。
 -- 已處理百分之 22 。
 -- 已處理百分之 31 。
 -- 已處理百分之 40 。
 -- 已處理百分之 54 。
 -- 已處理百分之 63 。
 -- 已處理百分之 72 。
 -- 已處理百分之 81 。
 -- 已處理百分之 90 。
 -- 已處理百分之 100 。
 -- 已為數據庫 'Db' ,文件 'Db' ( 位於文件 1 上 )
 處理了 176 頁。
 -- 已為數據庫 'Db' ,文件 'Db_log' ( 位於文件 1 上 ) 處理了 2 頁。
 --RESTORE DATABASE 成功處理了 178 頁,花費 0.159 秒 (9.125 MB/ 秒 ) 。
 
 -->7. 檢查數據庫狀態
 select  state_desc , name ,user_access_desc from sys.databases where name = 'db'
 --state_desc name user_access_desc
 --ONLINE Db MULTI_USER
 
 -- 至此 db
數據庫正常。後續將嘗試數據庫處於置疑等狀態時,數據庫的修復方式。
原文出處:尝试数据库被标记为RESTORING的处理方式 - CSDN博客