今天中午想要登入系統的時候,突然跳出錯誤823!!!然後就無法登入了!!!

查了一下Microsoft的SQL文件說明,推測可能是硬碟造成吧!!!
以下是微軟的官方說明
說明
SQL Server 使用 Windows API (例如,ReadFile、WriteFile、ReadFileScatter、WriteFileGather) 來執行檔案 I/O 作業。 執行這些 I/O 作業之後,SQL Server 會檢查是否有與這些 API 呼叫建立關聯的錯誤狀況。 如果 API 呼叫因作業系統錯誤而失敗,則 SQL Server 會報告錯誤823。
接著我作了以下的處置
1.我先將資料庫重新啟動。
結果發現資料庫呈現(正在還原)的狀態
2.所以我下了restore database
restore database hsf
with recovery
go
消息 3153,级别 16,状态 2,第 1 行
数据库已完全恢复。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。
3.接著我下了dbcc checkdb(dbname)
dbcc checkdb(hsf)
跑了1:54:35
CHECKDB 在数据库 'HSF' 中发现 0 个分配错误和 47 个一致性错误。
对于由 DBCC CHECKDB (HSF)发现的错误,repair_allow_data_loss 是最低的修复级别。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
4.接著我下了dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
use master
declare @databasename Varchar(255)
set @databasename='HSF'
exec sp_dboption @databasename, N'single', N'true' --將目標資料庫置為單使用者狀態
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標資料庫置為多使用者狀態
跑了2:56:34
CHECKDB 在数据库 'HSF' 中发现 0 个分配错误和 0 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
5.然後就可以正常登入應用程式了,真是阿彌陀佛,好哩家在啊!!!
看樣子資料庫是有救回來!!

6.不過擔心是硬碟有問題,所以目前掃描磁碟中,這看起來要跑到明天了!!!

7.果然!!最後硬碟檢測出來的結果真的是有壞軌了!Q__Q 看來荷包又要飛了!!!

期待您的留言

Comments