国产老熟女高潮毛片A片仙踪林,欧美喂奶吃大乳,狠狠爱无码一区二区三区,女神的私人医生动漫免费阅读

新聞建站cms系統、政府cms系統定制開發

廣州網站建設公司-閱速公司

asp.net新聞發布系統、報紙數字報系統方案
/
http://www.tjsimaide.com/
廣州網站建設公司
您當前位置:首頁>sql數據庫修復

sql數據庫修復

科脈等超市系統數據庫損壞常規修復方法數據庫損壞常規處理方法-sql server數據庫修復-刪除表中重復的數據

發布時間:2024/5/4 10:05:28  作者:Admin  閱讀:142  

廣告:

一、數據庫為什么會損壞
在了解數據庫損壞之前,首先我們要了解一下SQL Server是如何將數據保存到數據文件(MDF、NDF等),無論數據更新還是插入,數據都需要首先在內存中Buffer Pool駐留,然后通過CheckPoint和Lazy writer等過程將內存中的數據再持久化到磁盤,所以在這個過程中,會受到很多方面的影響,比如:電壓不穩定、突然斷電、溫度過高或過低、潮濕程度、非法關機、硬盤壞道等都有可能會造成數據庫損壞。
通過上述,我們不難看出數據庫損壞是會受到很多方面影響,無法完全避免數據庫損壞,因此為了把數據庫損失降到最低,建議勤做數據備份。如果遇到數據庫損壞,我們應當如何處理?

二、數據庫損壞常規修復方法
溫馨提示:修復數據庫前,請做好數據備份,因為在修復數據庫過程中可能會造成數據丟失或者修復不了,如經過常規修復后還有問題,

數據庫損壞常規修復方法可分別為:一致性錯誤修復和數據庫置疑修復,以下修復數據庫名稱都假設以kmjxc為準,(如庫名不是kmjxc請更改對應的庫名)

2.1、SQL2000數據庫置疑修復必要條件
1.原庫的MDF數據文件必須是完好的
2.1.1、修復步驟1:前期準備
停止SQL數據庫服務,將置疑數據庫的MDF文件和LDF文件復制備份一份(復制到其他路徑);
啟動SQL數據庫服務,進入SQL企業管理器,在左側數據庫里面找到置疑的庫,右鍵刪除。
2.1.2、修復步驟2:倉庫科脈空庫
使用御商安裝包DB_setup 文件夾中的db_setup.exe程序,創建一個空庫,空庫的名稱與原庫一致;
將上一步中備份的置疑數據庫的MDF文件復制過來覆蓋現創建的空庫。
2.1.3、修復步驟3:把數據庫設置為緊急模式
打開SQL查詢分析器,選到master數據庫,輸入以下語句執行(一條一條執行)
sp_configure 'allow',1
reconfigure with override
update sysdatabases set status=32768 where name = 'kmjxc'
2.1.4、修復步驟4:重建數據庫日志文件
D:\MSSQL$PROD\Data\ 為存放數據庫文件的路徑
KMJXC_log2.ldf 為一個新的不存在的文件,在執行以下語句時將自動建立
dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log2.ldf')
2.1.5、修復步驟5:取消數據庫緊急模式
打開SQL查詢分析器,選到master數據庫,輸入以下語句執行(一條一條執行)
update sysdatabases set status=0 where name = 'kmjxc'
restore database kmjxc with recovery
sp_configure 'allow',0
reconfigure with override
2.1.6、修復步驟6:重啟SQL服務
以上操作完成后,打開服務管理器(要在開始菜單中找到或右下角的狀態欄中找到),將SQL Server服務停止,再啟動。到此,置疑修復完成,可到企業管理器中查看數據庫是否正常。

2.2、SQL2005\2008數據庫置疑修復
2.2.1、修復步驟1:設置數據庫為緊急模式
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
alter database 置疑數據庫名 set emergency
go
2.2.2、 修復步驟2:設置單用戶模式
alter database置疑數據庫名set single_user
2.2.3、 修復步驟3:建數據庫日志文件
dbcc checkdb('置疑數據庫名',REPAIR_ALLOW_DATA_LOSS)
2.2.4、修復步驟4:取消單用戶模式
alter database置疑數據庫名set multi_user
2.2.5、修復步驟5:取消數據庫緊急模式
alter database 置疑數據庫名set online

三、 數據庫一致性錯誤修復
修復數據庫名稱都假設以kmjxc為準,(如庫名不是kmjxc請更改對應的庫名)
修復步驟1:檢測數據庫
打開SQL查詢分析器,選擇需要檢測的數據庫,執行dbcc checkdb語句可以檢測數據庫是否有分配性和一致性錯誤
修復步驟2:設置數據庫為單用戶
如在檢測出有分配性和一致性錯誤,證明數據庫已損壞,需要將數據庫設置為單用戶才能進行數據庫的修復,使用以下語句設置數據庫為單用戶
EXEC sp_dboption ' kmjxc ', 'single user', 'TRUE'

修復步驟3:修復數據庫、數據庫索引
使用以下語句進行數據庫修復,先執行修復數據庫,再執行修復數據庫索引,這兩個可交替重復執行。
dbcc checkdb ('kmjxc',repair_allow_data_loss) -- 修復數據庫
dbcc checkdb ('kmjxc',REPAIR_REBUILD) -- 修復數據庫索引
修復步驟4:查詢錯誤ID的表名
在修復數據庫的過程中,如果有出現個別錯誤是某個表損壞,會有提示表ID,可使用以下語句查詢這個ID是哪張表,再針對這張表進行修復。
SELECT * FROM sysobjects where id = ‘此處填入表ID’ --查詢錯誤ID的表名
修復步驟5:修復表、表索引
使用以下語句進行數據庫修復,先執行修復表,再執行修復表索引,這兩個可交替重復執行。
dbcc checktable ('此處填入表名',repair_allow_data_loss) -- 修復表
dbcc checktable ('此處填入表名',REPAIR_REBUILD) -- 修復表索引
修復步驟6:設置數據庫為多用戶
修復完成后,需要將數據庫設置成多用戶模式
EXEC sp_dboption 'kmjxc', 'single user', 'false'
修復步驟7:發生鍵次錯誤,索引重復的處理方法
以pos_t_saleflow_pre表為例在SQL查詢分析器的左側,找到pos_t_saleflow_pre表,展開,在約束中找到以PK開頭的主鍵約束,右鍵 – 在新窗口中編寫對象腳本為 – 創建,將創建出來的腳本保存作個備份,記住腳本中是以哪個字段為主鍵(以下語句中會使用到,因語句中以主鍵分組來查詢是否有重復),然后再右鍵刪除此主鍵約束,再使用以下語句查詢是否有重復值,如果有,則刪除。刪除重復值后,再用備份的腳本重新創建主鍵。
--查詢是否存在重復的數據
dbcc checktable('pos_t_saleflow_pre')
select flow_no, flow_id
from pos_t_saleflow_pre
group by flow_no, flow_id
having count(1) > 1

--刪除表中重復的數據
while exists(select flow_no, flow_id
from pos_t_payflow_pre
group by flow_no, flow_id
having count(1) > 1)
begin
set rowcount 1
delete a
from pos_t_payflow_pre a
inner join (select flow_no, flow_id
from pos_t_payflow_pre
group by flow_no, flow_id
having count(1) > 1) b on a.flow_no = b.flow_no and a.flow_id = b.flow_id
set rowcount 0
end

四、小結
此文檔闡述了數據庫損壞的概念、及數據庫常規的修復操作步驟。如按數據庫常規修復步驟無法修復,請聯系第三方專業修復公司。

數據庫問題修復聯系電話:13631399978(微信同號)

廣告:

相關文章
數據庫損壞
數據庫修復
cms新聞系統購買咨詢
掃描關注 廣州閱速軟件科技有限公司
掃描關注 廣州閱速科技
主站蜘蛛池模板: 永宁县| 勐海县| 宁波市| 拉萨市| 龙口市| 化州市| 福贡县| 巴东县| 高碑店市| 新蔡县| 额济纳旗| 凌海市| 嘉善县| 阿瓦提县| 贡觉县| 玉门市| 曲松县| 商都县| 维西| 镇坪县| 贞丰县| 宜章县| 万载县| 富锦市| 五台县| 镇赉县| 正宁县| 常山县| 西乌| 都江堰市| 田东县| 乐清市| 成都市| 泰顺县| 新野县| 乌兰察布市| 那坡县| 江都市| 横山县| 剑川县| 富源县|