2016/4/12

修復 MSSQL 資料庫[有疑問]狀態 (可能會遺失部分未存入硬碟的資料)

在SQL Server中執行下列指令修復資料庫
DECLARE @Dbname NVARCHAR(50) = 'DBNAME' --Replace to target db name

DECLARE @Sql NVARCHAR(MAX) = ''
SET @Sql = @Sql+'EXEC sp_resetstatus ['+@Dbname+'];'
SET @Sql = @Sql+'ALTER DATABASE ['+@Dbname+'] SET EMERGENCY;'
SET @Sql = @Sql+'DBCC CheckDB(['+@Dbname+']);'
SET @Sql = @Sql+'ALTER DATABASE ['+@Dbname+'] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;'
SET @Sql = @Sql+'DBCC CheckDB(['+@Dbname+'], REPAIR_ALLOW_DATA_LOSS);'
SET @Sql = @Sql+'ALTER DATABASE ['+@Dbname+'] SET MULTI_USER;'

PRINT @Sql
EXEC [sp_executesql]
     @Sql;

參考網站: https://support.managed.com/kb/a398/how-to-repair-a-suspect-database-in-mssql.aspx

0 意見:

張貼留言