dzz文件伺服器地址
標題:[MySQL]MSSQL資料庫823錯誤解決方法
出處:www.err123.cn
時間:Sat, 12 Apr 2008 10:12:27 +0000
作者:ah011
地址:http://www.err123.cn/read.php?193
內容:
1.日誌文件被破壞823錯誤
----------------------
日誌文件被破壞的資料庫文件,通過如下方法附加上去後,資料庫里所有的表都不能訪問,提示錯誤832,請問要如何解決??
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768 where dbid=DB_ID('linyi_pljy')
go
dbcc rebuild_log('linyi_pljy','e:\Program Files\Microsoft SQL Server\MSSQL\Data\linyi_pljy_log.ldf')
go
sp_dboption 'linyi_pljy','dbo use only','false'
go
sp_configure 'allow updates',0
go
reconfigure with override
go
---------------------
2.附加資料庫文件時,提示823錯誤
----------------------
EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打開修改系統表的開關 */
update sysdatabases set status = 32768 where name = '資料庫名'
DBCC REBUILD_LOG ('資料庫名', 'E: dzzdatabase dzz1204_Log.LDF' )
update sysdatabases set status = 0 where name = '資料庫名'
restore database 資料庫名 WITH RECOVERY
EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 關閉打開修改系統表的開關 */
3因為停電等原因造成MSSQL資料庫,提示823錯誤
----------------------
USE MASTER
GO
sp_dboption 'databaseName', 'single user', 'true'
Go
DBCC CHECKDB('databaseName', REPAIR_REBUILD)
Go
USE databaseName
go
exec sp_msforeachtable 'DBCC CHECKTABLE('''?''',REPAIR_REBUILD)'
go
sp_dboption 'databaseName', 'single user', 'false'
Go
如果還不行,可以採用允許丟失數據的方式修復,如下:
USE MASTER
GO
sp_dboption 'databaseName', 'single user', 'true'
Go
DBCC CHECKDB('databaseName', REPAIR_ALLOW_DATA_LOSS)
Go
USE databaseName
go
exec sp_msforeachtable 'DBCC CHECKTABLE('''?''',REPAIR_REBUILD)'
go
sp_dboption 'databaseName', 'single user', 'false'
Go
4.資料庫恢復資料
----------------------
SQL Server資料庫備份有兩種方式,一種是使用BACKUP DATABASE將資料庫文件備份出去,另外一種就是直接拷貝資料庫文件mdf和日誌文件ldf的方式。下面將主要討論一下後者的備份與恢復。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)
1、正常的備份、恢復方式
正常方式下,我們要備份一個資料庫,首先要先將該資料庫從運行的數據伺服器中斷開,或者停掉整個資料庫伺服器,然後復制文件。
卸下資料庫的命令:Sp_detach_db 資料庫名
連接資料庫的命令:Sp_attach_db或者sp_attach_single_file_db
s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正確恢復SQL Sever7.0和SQL Server 2000的資料庫文件,要點是備份的時候一定要將mdf和ldf兩個文件都備份下來,mdf文件是資料庫數據文件,ldf是資料庫日誌文件。
例子:
假設資料庫為test,其數據文件為test_data.mdf,日誌文件為test_log.ldf。下面我們討論一下如何備份、恢復該資料庫。
卸下資料庫:sp_detach_db 'test'
連接資料庫:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'
sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'
2、只有mdf文件的恢復技術
由於種種原因,我們如果當時僅僅備份了mdf文件,那麼恢復起來就是一件很麻煩的事情了。
如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息
設備激活錯誤。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有誤。
已創建名為 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日誌文件。
但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息
伺服器: 消息 1813,級別 16,狀態 2,行 1
未能打開新資料庫 'test'。CREATE DATABASE 將終止。
設備激活錯誤。物理文件名 'd:\test_log.LDF' 可能有誤。
怎麼辦呢?別著急,下面我們舉例說明恢復辦法。
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
B.停掉資料庫伺服器。
C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
E.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
G.下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。[brown]
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
[brown]警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。
H.驗證資料庫一致性(可省略)
dbcc checkdb('test')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
I.設置資料庫為正常狀態
sp_dboption 'test','dbo use only','false'
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
『貳』 sql 錯誤 823
--------------------- 1.日誌文件被破壞823錯誤 ---------------------- 日誌文件被破壞的資料庫文件,通過如下方法附加上去後,資料庫里所有的表都不能訪問,提示錯誤832,請問要如何解決?? use master go sp_configure 'allow updates',1 go reconfigure with override go update sysdatabases set status=-32768 where dbid=DB_ID('linyi_pljy') go dbcc rebuild_log('linyi_pljy','e:Program FilesMicrosoft SQL ServerMSSQLDatalinyi_pljy_log.ldf') go sp_dboption 'linyi_pljy','dbo use only','false' go sp_configure 'allow updates',0 go reconfigure with override go --------------------- 2.附加資料庫文件時,提示823錯誤 ---------------------- EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打開修改系統表的開關 */ update sysdatabases set status = 32768 where name = '資料庫名' DBCC REBUILD_LOG ('資料庫名', 'E: dzzdatabase dzz1204_Log.LDF' ) update sysdatabases set status = 0 where name = '資料庫名' restore database 資料庫名 WITH RECOVERY EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 關閉打開修改系統表的開關 */ --------------------- 3.因為停電等原因造成MSSQL資料庫,提示823錯誤 ---------------------- USE MASTER GO sp_dboption 『databaseName』, 』single user』, 『true』 Go DBCC CHECKDB(』databaseName』, REPAIR_REBUILD) Go USE databaseName go exec sp_msforeachtable 『DBCC CHECKTABLE(''』?''』,REPAIR_REBUILD)』 go sp_dboption 『databaseName』, 』single user』, 『false』 Go 如果還不行,可以採用允許丟失數據的方式修復,如下: USE MASTER GO sp_dboption 『databaseName』, 』single user』, 『true』 Go DBCC CHECKDB(』databaseName』, REPAIR_ALLOW_DATA_LOSS) Go USE databaseName go exec sp_msforeachtable 『DBCC CHECKTABLE(''』?''』,REPAIR_REBUILD)』 go sp_dboption 『databaseName』, 』single user』, 『false』 Go --------------------- 4.在大富翁論壇收集的資料庫恢復資料 ---------------------- SQL Server資料庫備份有兩種方式,一種是使用BACKUP DATABASE將資料庫文件備份出去,另外一種就是直接拷貝資料庫文件mdf和日誌文件ldf的方式。下面將主要討論一下後者的備份與恢復。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器) 1、正常的備份、恢復方式正常方式下,我們要備份一個資料庫,首先要先將該資料庫從運行的數據伺服器中斷開,或者停掉整個資料庫伺服器,然後復制文件。卸下資料庫的命令:Sp_detach_db 資料庫名連接資料庫的命令:Sp_attach_db或者sp_attach_single_file_db s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16] sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′ 使用此方法可以正確恢復SQL Sever7.0和SQL Server 2000的資料庫文件,要點是備份的時候一定要將mdf和ldf兩個文件都備份下來,mdf文件是資料庫數據文件,ldf是資料庫日誌文件。例子:假設資料庫為test,其數據文件為test_data.mdf,日誌文件為test_log.ldf。下面我們討論一下如何備份、恢復該資料庫。卸下資料庫:sp_detach_db 'test' 連接資料庫:sp_attach_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLData est_data.mdf','C:Program FilesMicrosoft SQL ServerMSSQLData est_log.ldf' sp_attach_single_file_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLData est_data.mdf' 2、只有mdf文件的恢復技術由於種種原因,我們如果當時僅僅備份了mdf文件,那麼恢復起來就是一件很麻煩的事情了。如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息設備激活錯誤。物理文件名 'C:Program FilesMicrosoft SQL ServerMSSQLdata est_Log.LDF' 可能有誤。已創建名為 'C:Program FilesMicrosoft SQL ServerMSSQLData est_log.LDF' 的新日誌文件。但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息伺服器: 消息 1813,級別 16,狀態 2,行 1 未能打開新資料庫 'test'。CREATE DATABASE 將終止。設備激活錯誤。物理文件名 'd: est_log.LDF' 可能有誤。怎麼辦呢?別著急,下面我們舉例說明恢復辦法。 A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。 B.停掉資料庫伺服器。 C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。 D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。 E.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。 use master go sp_configure 'allow updates',1 go reconfigure with override go F.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀置疑離線緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表 G.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:Program FilesMicrosoft SQL ServerMSSQLData est_log.ldf') 執行過程中,如果遇到下列提示信息:伺服器: 消息 5030,級別 16,狀態 1,行 1 未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。[brown] 說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。正確執行完成的提示應該類似於: [brown]警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。 H.驗證資料庫一致性(可省略) dbcc checkdb('test') 一般執行結果如下: CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 I.設置資料庫為正常狀態 sp_dboption 'test','dbo use only','false' 如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。 J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成 sp_configure 'allow updates',0 go reconfigure with override go 來自:yzhshi, 時間:2003-3-11 9:59:00, ID:1670897 為藍色頁面用戶再提供一份,不過建議使用黃色頁面,頁面標志更清晰一些。 SQL Server資料庫文件恢復技術 yzhshi([email protected]) SQL Server資料庫備份有兩種方式,一種是使用BACKUP DATABASE將資料庫文件備份出去,另外一種就是直接拷貝資料庫文件mdf和日誌文件ldf的方式。下面將主要討論一下後者的備份與恢復。本文假定您能熟練使用SQL Server Enterprise Manager (SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器) 1、正常的備份、恢復方式正常方式下,我們要備份一個資料庫,首先要先將該資料庫從運行的數據伺服器中斷開,或者停掉整個資料庫伺服器,然後復制文件。卸下資料庫的命令:Sp_detach_db 資料庫名連接資料庫的命令:Sp_attach_db或者sp_attach_single_file_db s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16] sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′ 使用此方法可以正確恢復SQL Sever7.0和SQL Server 2000的資料庫文件,要點是備份的時候一定要將 mdf和ldf兩個文件都備份下來,mdf文件是資料庫數據文件,ldf是資料庫日誌文件。例子:假設資料庫為test,其數據文件為test_data.mdf,日誌文件為test_log.ldf。下面我們討論一下如何備份、恢復該資料庫。卸下資料庫:sp_detach_db 'test' 連接資料庫:sp_attach_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLData est_data.mdf','C:Program FilesMicrosoft SQL ServerMSSQLData est_log.ldf' sp_attach_single_file_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLData est_data.mdf' 2、只有mdf文件的恢復技術由於種種原因,我們如果當時僅僅備份了mdf文件,那麼恢復起來就是一件很麻煩的事情了。如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者 sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息 設備激活錯誤。物理文件名 'C:Program FilesMicrosoft SQL ServerMSSQLdata est_Log.LDF' 可能有誤。已創建名為 'C:Program FilesMicrosoft SQL ServerMSSQLData est_log.LDF' 的新日誌文件。 但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息 伺服器: 消息 1813,級別 16,狀態 2,行 1 未能打開新資料庫 'test'。CREATE DATABASE 將終止。設備激活錯誤。物理文件名 'd: est_log.LDF' 可能有誤。 怎麼辦呢?別著急,下面我們舉例說明恢復辦法。 A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager 裡面建立。 B.停掉資料庫伺服器。 C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的數據 庫數據文件test_data.mdf。 D.啟動資料庫伺服器。此時會看到資料庫test的狀態為"置疑"。這時候不能對此資料庫進行任何操作。 E.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫服 務器,按右鍵,選擇"屬性",在"伺服器設置"頁面中將"允許對系統目錄直接修改"一項選中。也可以 使用如下語句來實現。 use master go sp_configure 'allow updates',1 go reconfigure with override go F.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於"只讀置疑離線緊急模式"可以 看到資料庫裡面的表,但是僅僅有系統表 G.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:Program FilesMicrosoft SQL ServerMSSQLData est_log.ldf') 執行過程中,如果遇到下列提示信息: 伺服器: 消息 5030,級別 16,狀態 1,行 1 未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager 打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。 正確執行完成的提示應該類似於: 警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致 性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為"只供DBO使用"。此時可以 訪問資料庫裡面的用戶表了。 H.驗證資料庫一致性(可省略) dbcc checkdb('test') 一般執行結果如下: CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 I.設置資料庫為正常狀態 sp_dboption 'test','dbo use only','false' 如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。 J.最後一步,我們要將步驟E中設置的"允許對系統目錄直接修改"一項恢復。因為平時直接操作系統表 是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用 如下語句完成 sp_configure 'allow updates',0 go reconfigure with override go ===================================================================================== (轉) 修復SQLSERVER2000資料庫之實戰經驗 我所講的一個故事的背景是這樣的,在某一個POS的項目中使用SQLSERVER 2000做前台資料庫,IBM 的DB2做後台資料庫。前台資料庫的環境是這樣的操作系統是WINDOWS2000 SERVER(10 USERS),資料庫是 SQLSERVER2000(E)+SP3,Application是POS的收銀系統(是一種實時的交易系統)。硬體的配置是:P4 XRON 2.4G*2,36G HDD*5 做的RAID5 ,1G MEMORY,HP DDS4 磁帶機,資料庫的容量一般保持在5G左右。 因為數據比較的重要,並且數據容量也不大,我們要求的備份策略是每天在磁帶機做POS_DB的全備份(一個星期7天一個循環),在晚上還在硬碟上做全部備份(MASTER,MSDB,POS_DB).這樣保持雙重的保險。 1.故障爆發: 2003-12-26 13:00 客戶報告所有的POS死機和SERVER運行速度非常的慢。經過重新啟動伺服器(啟動到檢查RAID卡時開始報警)我們發現在WINDEOWS 2000 SERVER的「系統日誌」中有這樣的信息: Error: 823, Severity: 24, State: 2 I/O error (torn page) detected ring read at offset 0x0000001bf96000 in file D :DATAPOS_DB.mdf'. SQLSERVER的「錯誤日誌」中有這樣的信息: 2003-12-10 03:34:22.23 spid56 Error: 823, Severity: 24, State: 2 2003-12-10 03:34:22.23 spid56 I/O error (torn page) detected ring read at offset 0x00000074964000 in file 'D:DATAPOS_DB.mdf'.. 來自msdn的解釋: I/O logical check failure: If a read Windows API call or a write Windows API call for a database file is successful, but specific logical checks on the data are not successful (a torn page, for example), an 823 error is raised. The following error message is an example of an 823 error for an I/O logical check failure: 2003-09-05 16:51:18.90 spid17 Error: 823, Severity: 24, State: 2 2003-09-05 16:51:18.90 spid17 I/O error (torn page) detected ring read at offset 0x00000094004000 in file 'F:SQLDatamydb.MDF'.. To resolve this problem, first run the DBCC CHECKDB statement on the database that is associated with the file in the error message. If the DBCC CHECKDB statement reports errors, correct those errors before you troubleshoot this problem. If the problem persists even after the DBCC CHECKDB errors have been corrected, or if the DBCC CHECKDB statement does not report any errors, review the Microsoft Windows NT system event log for any system errors or disk-related errors. You can also contact your hardware vendor to run any appropriate diagnostics. I/O邏輯檢查失敗:如果有一個WINDOWS程序在讀取和寫資料庫文件時是成功的,但是在詳細的數據邏輯檢查時沒有成功(比如:不完整的頁),SQLSERVER會返回MSG 823的錯誤。下面就是一個I/O邏輯檢查失敗MSG 823的實例: 2003-09-05 16:51:18.90 spid17 Error: 823, Severity: 24, State: 2 2003-09-05 16:51:18.90 spid17 I/O error (torn page) detected ring read at offset 0x00000094004000 in file 'F:SQLDatamydb.MDF'.. 要解決這樣的問題,首先要在該資料庫中執行DBCC CHECKDB(錯誤信息提示的資料庫文件)。如果DBCC CHECKDB報錯,在你修復錯誤之前糾正這些錯誤。如果這些錯誤信息一直保留到執行DBCC CHECKDB運行之後,或者DBCC CHECKDB沒有報告任何錯誤,檢查WINDOWS NT系統的的事件查看器的和系統錯誤或磁碟錯誤相關的信息。你也可以聯系硬體廠商運行正確的診斷工具。 壞了:-(,資料庫文件有問題,在檢查OS的事件查看器,我們發現在一個星期之前就有錯誤信息(只是OFFSET的偏移地址不同)。 趕緊檢查HDD,果然發現在RAID5的第一快HDD亮了紅燈(灰塵太多,很難於看清) 執行 DBCC CHECKDB('POS_DB')檢查發現: Server: Msg 8909, Level 16, State 1, Line 1 Table error: Object ID 26342838, index ID 35207, page ID (1:50978). The PageId in the page header =(32230:-2048732002). Server: Msg 8939, Level 16, State 1, Line 1 Table error: Object ID 859150106, index ID 255, page (1:238770). Test (IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode) failed. Values are 2057 and -1. Server: Msg 8928, Level 16, State 1, Line 1 Object ID 861246123, index ID 0: Page (1:57291) could not be processed. See other errors for details. Server: Msg 2511, Level 16, State 1, Line 1 Table error: Object ID 862626116, Index ID 0. Keys out of order on page (1:269310), slots 0 and 1. 啊哈,果然有很多的表都有錯誤關聯(請記錄每一個錯誤表的OBJECT ID) 從MSDN查到: 錯誤號Msg 823:表示SQLSERVER在讀取數據和寫數據時檢測到硬體設備有問題或者系統有問題。 TORN PAGE:的意思是不完整的頁 0x0000001bf96000:這是從數據文件開始處到TORN PAGE 的位元組數。 錯誤號Msg 8939 :大家可以看看:http://support.microsoft.com/default.aspx?kbid=320434 FIX:在運行 CHECKDB 時,具有 TABLOCK 提示的大容量插入(bulk insert, bcp 等)可能導致錯誤 8929 和 8965 錯誤號MSG 8928:是和8939相關聯的信息, 錯誤號MSG 8965:是和8939相關聯的信息, 大家可以到下面的地址找到相關的信息: http://support.microsoft.com/default.aspx?scid=kb;en-us;826433 PRB: Additional SQL Server Diagnostics Added to Detect Unreported I/O Problems http://support.microsoft.com/default.aspx?scid=kb;en-us;828339 PRB: Error message 823 may indicate hardware problems or system problems http://support.microsoft.com/default.aspx?scid=kb;en-us;308795 FIX: CheckDB May Not Fix Error 8909 or Error 8905 故障確診:RAID有一塊HDD壞,造成資料庫文件破壞 2.更換HDD 2003-12-28 23:00 現在就體現了RAID5的好處,壞了一塊HDD,系統可以照常運行,不過系統的日誌和SQLSERVER的日誌還是有MSG823的報錯信息。 按照RAID 卡的REBUILD的步驟將新的HDD綁定到原始的RAID5中,順利完成:-) 用DBCC檢查資料庫的完整性 DBCC CHECKDB('POS_DB') WITH ALL_ERRORMSGS 發現還是有和更換HDD之前一樣的ERROR信息,看來資料庫文件還是有問題。 --有一個奇怪問題1,既然是5塊HDD的RAID5,為何有一塊HDD壞會影響資料庫文件的損壞,不解???:-( 3.恢復資料庫 2003-12-29 00:30 沒有辦法,用備份的數據集恢復資料庫(看來備份是多麼的重要) USE MASTER GO RESTORE DATABASE POS_DB FROM DISK='D:DATABASEBACKUPPOS_DB_BACKUP.DAT' 重新啟動MSSQLSERCVER服務, NET STOP MSSQLSERVER / NET START MSSQLSERVER 用DBCC檢查資料庫的完整性 DBCC CHECKDB('POS_DB') WITH ALL_ERRORMSGS 和恢復之前的錯誤信息一致,沒有改變。 --奇怪問題之2,SQLSERVER BACKUP 之前並不驗證資料庫的完整性,資料庫的全備份竟然是有問題的。氣憤!! 看來只能通過工具修復資料庫了(--在修改之前記錄錯誤表的記錄數,以便修復資料庫後進行比較)。
『叄』 dzzoffice登錄頁面怎麼做
在Github上面找到塗飛平的dzzwithdocker項目1、下載項目Git的項目,你可以clone或者直接下載zip包到本地,然後解壓到一個目錄下面,這里假定你把系統解壓到/home/cores/dockers/dzz1.0目錄下面2、創建dzz鏡像進入到dzz1.0目錄中,通過執行dockerbuild-tdzz10.生成dzz10鏡像,由於國內網路情況,這是一個漫長的過程,我花費了大概半個小時(還不包含ubuntu鏡像的下載時間,因為之前已經下載完成該部分鏡像)如果安裝失敗,請重復執行幾次,肯定能成功的。然後執行dockerimages命令查看是否有dzz10名稱的image是否創建成功。3、啟動dzz容器完成dzz1.0鏡像的構建,通過dockerrun命令啟動一個容器,並將80和22埠映射到宿主機器埠上面,便於我們在瀏覽器中訪問,我這里將80埠映射到8081埠(因為我的80,8080都已經映射給其他服務的docker容器:-(),命令如下dockerrun-d-p8081:80-p2221:22dzz104、配置DzzOffice在瀏覽器中輸入http://127.0.0.1:80801來訪問系統,如果看到如圖界面,恭喜您,安裝DzzOffice成功了,剩下就是配置了經過一番配置,可以看到華麗麗的界面了:-)三、單機安裝為了在Github上面創建dzzwithdocker項目,我在我的本子(ThinkpadT420i8G內存)上使用Vageant+VirtualBox方式部署coreos系統,然後在coreos環境中下載dzzwithdocker項目文件,解壓,然後構建docker鏡像,運行容器,通過瀏覽器(Chrome)設置,訪問,一切正常,下面是整個系統的圖示。又是華麗麗的界面:-)希望能夠幫到您哦。
『肆』 Dataset導出到Excel,日期變為####,拖拽單元格長度才能恢復正常,怎麼解決
直接把A設置單元格格式,縮小字體自動填充,或者把列寬那裡設置成自動調整列寬就行了或者用代碼
Columns("A:A").Select
Selection.Columns.AutoFit
『伍』 大主宰伺服器怎麼換
登陸界面可以切換伺服器。
大主宰專區:
http://www.18183.com/dzz/
大主宰論壇地址:
http://bbs.18183.com/forum-dzz-1.html
『陸』 如何在Docker中安裝DzzOffice
在Github上面找到塗飛平的dzzwithdocker項目
1、下載項目
Git的項目,你可以clone或者直接下載zip包到本地,然後解壓到一個目錄下面,這里假定你把系統解壓到/home/cores/dockers/dzz1.0目錄下面
2、創建dzz鏡像 進入到dzz1.0目錄中,通過執行 docker build -t dzz10
.生成dzz10鏡像,由於國內網路情況,這是一個漫長的過程,我花費了大概半個小時(還不包含ubuntu鏡像的下載時間,因為之前已經下載完成該部分鏡像)
如果安裝失敗,請重復執行幾次,肯定能成功的。 然後執行 docker
images命令查看是否有dzz10名稱的image是否創建成功。 3、啟動dzz容器 完成dzz1.0鏡像的構建,通過 docker
run命令啟動一個容器,並將80和22埠映射到宿主機器埠上面,便於我們在瀏覽器中訪問,我這里將80埠映射到8081埠(因為我的80,8080都已經映射給其他服務的docker容器 :-( ),命令如下 docker run -d -p 8081:80 -p 2221:22 dzz10 4、配置DzzOffice 在瀏覽器中輸入http://127.0.0.1:80801來訪問系統,如果看到如圖界面,恭喜您,安裝DzzOffice成功了,剩下就是配置了
經過一番配置,可以看到華麗麗的界面了 :-) 三、單機安裝
為了在Github上面創建dzzwithdocker項目,我在我的本子(ThinkpadT420i 8G內存)上使用Vageant +
VirtualBox方式部署coreos系統,然後在coreos環境中下載dzzwithdocker項目文件,解壓,然後構建docker鏡像,運行容器,通過瀏覽器(Chrome)設置,訪問,一切正常,下面是整個系統的圖示。
又是華麗麗的界面 :-) 希望能夠幫到您哦。
『柒』 與itunes store的安全連接失敗
這兩天我也是出現同樣的問題,一開始我還以為美國聖誕節放假了呢。後來在我綜合了網上的各種辦法,終於給我搞好了,至少目前我上著都沒什麼問題。我是這么操作的。看你的測試結果應該跟我的問題是一樣的。
首先,請關掉數據機的電源或者拔掉數據機上的網線,至少5分鍾,再插回去,這樣是為了讓它重置DNS。
然後,打開itunes store,如果還有問題,就點itunes上的幫助,運行診斷程序,就勾取網路連接測試就可以了,下面三個不用勾。點下一步,再點下一步,會看到一個紅球後面寫著「與itunes store 的安全連接失敗」,點後面有個幫助,按照裡面「清除DNS緩存」的方法操作,然後關閉itunes,重新打開,就可以了。我就是這么修好的,再點幫助里的運行診斷程序,就顯示全部通過測試了。
『捌』 雲桌面是什麼意思如何搭建雲桌面
長遠來看,將來的雲桌面可以實現數據的遠程存儲,應用遠程使用。 比如,你在手機里拍攝一張照片,這張照片可以自動同步到雲桌面中,而雲桌面又會自動同步到你的其他設備中,例如家庭電腦,工作電腦。 這些icloud 以可以做到。文檔,文件,信息等,亦是如此。
游戲也不在用下載到本地電腦,直接可以在遠程的雲桌面中運行。雲桌面匯聚大量各類雲端應用,例如在線office,在線作圖,辦公協作,在線游戲等。
圖片處理,例如你自己沒有高性能的電腦來處理大型的3D效果圖吧。而雲桌面中也許會有相應的雲應用來幫你完成,利用雲端提供的強大的伺服器群組去做這些事情。
雲桌面現在來說只是初級階段。國內比較知名的開源雲桌面程序是DZZ雲桌面,http://www.dzz.cc/dzz.php現在只是實現一些簡單的網頁應用的存儲於雲端使用。隨著將來的發展,肯定會有更多的功能,可在雲端實現。
參考
『玖』 C:\Documents and Settings\Administrator\fancy\dzz.fod 是什麼文件,1.2G,可以刪除嗎
可以刪,是360軟體緩存文件
『拾』 大主宰載入伺服器就停止
第一你內存不足 刪點小視頻吧
第二種可能你版本不對
第三種緩存問題 用手機助手加速和清理垃圾
解決方法:重啟卸載重裝等等
更多攻略請看18183:
18183論壇地址:http://bbs.18183.com/forum-dzz-1.html
專區地址:http://www.18183.com/dzz/