SQLSERVER 問題

(1)顯示“正在恢復”

選擇不回滾未提交的事物時會有個現象就是數據庫右邊一直顯示正在還原,並不可用:

解決方法:restore database Test2 with recovery

如果要不斷恢復後面的日誌文件,的確需要使數據庫處於“正在還原狀態”,

這通常是執行下面命令:restore database dbname with norecovery

(2)顯示“正在恢復”

解決方法:

1、關閉數據庫的服務。

2、把數據庫文件(物理文件)剪切出來。

3、重新啓動數據庫的服務。進入SqlSever刪除數據庫。因爲文件已經剪切走了。所以不會刪除文件。

4、把數據庫文件拷回來,重新附加就可以了。

(3)顯示“!”可疑狀態,顯示“備用/只讀”

解決方法:執行如下語句修復數據庫

--DataBaseName爲修復的數據名
--嘗試不丟失數據的修復:DBCC CHECKDB('fdshop',REPAIR_REBUILD)。
--嘗試可能丟失數據的修復:DBCCCHECKDB('fdshop',REPAIR_ALLOW_DATA_LOSS)。


USE MASTER
GO
--1)使用指定值強制重新配置:(1、0表示爲真假)
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
--2)設置爲緊急狀態:
ALTER DATABASE [DataBaseName] SET EMERGENCY
GO
--3)設置爲單用戶模式:
ALTER DATABASE [DataBaseName] SET single_user
--或者:Sp_dboption 'DataBaseName', 'single user', 'true'
GO
--4)修復發現的錯誤:
DBCC CHECKDB('DataBaseName','REPAIR_ALLOW_DATA_LOSS')
GO
--5)設置爲聯機、在線:
ALTER DATABASE [DataBaseName] SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'DataBaseName', 'single user', 'false'
GO

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章