A. 用友U8提示賬套所對應的年度資料庫不存在,有沒有什麼辦法能恢復
可以搜索一下安裝目錄下面有沒有ZT***文件夾,再看看裡面有沒有UFDATA.LDF和UFDATA.MDF這兩個文件,如果有的話,可以用資料庫置疑修復工具修復或進資料庫,重新附加。
B. 資料庫出現置疑了怎麼恢復
備份數據文件,然後按下面的步驟處理:
1.新建一個同名的資料庫(數據文件與原來的要一致)
2.再停掉sql server(注意不要分離資料庫)
3.用原資料庫的數據文件覆蓋掉這個新建的資料庫
4.再重啟sql server
5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)
6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用
資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫名'
Go
sp_dboption '置疑的資料庫名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的資料庫名')
Go
update sysdatabases set status =28 where name='置疑的資料庫名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的資料庫名', 'single user', 'false
假設資料庫為TEST:
按以下步驟執行
A.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
B.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
C.下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_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使用」。此時可以訪問資料庫裡面的用戶表了。
D.驗證資料庫一致性(可省略)
dbcc checkdb('test')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
E.設置資料庫為正常狀態
sp_dboption 'test','dbo use only','false'
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
F.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
上面的語句操作步驟有點問題:
應該如下:
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 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在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
C. 如何修復 SQL 資料庫置疑
SQL資料庫修復大師6.6 是一款功能強大的數據修復工具
對修復 SQL 資料庫置疑 823錯誤 無損
支持對SQL 2000 SQL2005 SQL2008 的mdf文件進行修復 支持資料庫日誌(LDF)生成 直接附加
對資料庫823錯誤 質疑錯誤 效果最佳 完美支持中文記錄
SQL 2000 2005 2008 資料庫修復工具,修復系統表損壞 索引損壞 823報錯 日誌報錯等各種故障
D. sql資料庫質疑的原因及解決辦法
sql資料庫質疑是設置錯誤造成的,解決方法為:
1、通過DBCC CHECKCB('DBName') 來檢測資料庫異常的原因,如果可以檢測到資料庫的異常,其中紅色部分即時數據目前存在的問題,我們也在檢測結果最後看到數據的總體的錯誤情況的匯總。
E. 求sql2000資料庫數據文件mdf修復工具
如果是簡單的資料庫質疑,可以使用以下:
1.新建一個同名的資料庫
2.再停掉sql server
3.用suspect資料庫的文件覆蓋掉這個新建的同名資料庫
4.再重啟sql server
5.此時打開企業管理器時新建的同名資料庫會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'
Go
sp_dboption 'test', 'single user', 'true'
Go
DBCC CHECKDB('test')
Go
update sysdatabases set status =28 where name='test'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'test', 'single user', 'false'
Go
6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用
資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.
如果這樣改不加資料庫狀態,你就把資料庫導成一個新庫來代替舊庫吧
企業管理器--右鍵你的資料庫--所有任務--導出數據
--目標標資料庫選擇新建
--選擇"在兩個sql資料庫之間復制對象和數據"
--把"包含擴展屬性"選上,其他的根據需要選擇
--最後完成
----目前正在做得修復表的操作如下,大家看看還有沒有其它方法
USE MASTER
GO
sp_dboption '問題資料庫', 'single user', 'true'
Go
DBCC CHECKDB('問題資料庫', REPAIR_ALLOW_DATA_LOSS)
Go
USE '問題資料庫'go
exec sp_msforeachtable 'DBCC CHECKTABLE("問題表",REPAIR_ALLOW_DATA_LOSS)'
exec sp_msforeachtable 'DBCC DBREINDEX("問題表")'
go
sp_dboption '問題資料庫', 'single user', 'false'
Go
F. 如何修復 SQL 資料庫置疑
修復sql2000資料庫置疑
在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。
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 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在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
G. sql資料庫置疑怎麼處理
修復方法
1
打開SQL企業管理器
按序打開 ,開始--所有程序(或程序)--Microsoft SQL Server--企業管理器
打開後按序點+號展開直到資料庫
H. 求最好的 SQL資料庫MDF損壞 SQL資料庫MDF損壞修復工具
SQL資料庫修復大師6.63,是一款功能強大的資料庫修復工具。
SQL資料庫修復大師v6.63 在文件修復演算法上進行了深度的更新 使文件的修復更完美 提升了掃描速度。
支持對SQL 2000 SQL2005 SQL2008 的mdf文件進行修復,支持資料庫日誌(LDF)生成,直接附加對資料庫823錯誤 質疑錯誤 效果最佳 完美支持中文記錄
http://www.skycn.com/soft/69905.html
I. 求教!資料庫置疑,我想做一個軟體來實現sql上的操作。讓質疑處理變得方便一些。
1.先使用dos命令停止資料庫服務。stop sqlserver
2.拷貝資料庫所在文件到另外一個目錄, ,這里注意提示,如果出現文件損壞或者IO錯誤,那基本就不能恢復了。
3.附加資料庫。EXEC sp_attach_db '質疑的資料庫名字',『剛才你將質疑資料庫拷貝到哪裡了,這里寫路徑』。如果成功返回0
4.附加成功後,自己測試一下,然後給個提示成功。
提示:最好不要寫這種程序,成功率應該不會太高,一般丟失文件才、磁碟錯誤等才會這樣,情況比較復雜,不是簡單的幾個命令就能處理的。上面的步驟是理想狀態下的步驟。
J. 用友t3備份怎麼老是失敗呢
一般該報錯是002賬套的2015年度置疑了。可以先停止資料庫服務之後,將安裝路徑下ufsmart下admin和cnt文件夾拷貝出來之後,在開啟資料庫服務,下載資料庫置疑修復工具,修復數據之後再操作即可。若是您不熟悉資料庫操作,為避免數據丟失或是損壞,建議您再代理商協助下進行處理。