亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

修復發生“由于數據移動,未能繼續以 NOLOCK 方式掃描”錯誤的數據庫

2024-07-21 02:48:06
字體:
來源:轉載
供稿:網友
修復發生“由于數據移動,未能繼續以 NOLOCK 方式掃描”錯誤的數據庫
最近在系統運行中發現了一個錯誤,錯誤信息如下:錯誤信息:查詢A201412C20568單證信息錯誤 ---> System.Data.OleDb.OleDbException: 由于數據移動,未能繼續以 NOLOCK 方式掃描。一開始我認為企業的數據庫是SQL SERVER 2005以上的版本,使用了以下方式:
USE MASTERGO  ALTER DATABASE work_yf SET SINGLE_USERGO --允許丟失數據修復DBCC CHECKDB (work_yf, REPAIR_ALLOW_DATA_LOSS)GO ALTER DATABASE work_yf SET MULTI_USER 

在執行了命令之后,發現無法成功。后研究了一下企業使用的數據庫,發現是SQL SERVER 2000的。所以只能使用以下方式進行修復。

第一步:通過以下代碼查詢,是哪些表中出錯了

DECLARE @table_name sysnameDECLARE ROY_table CURSOR FORSELECT name FROM sysobjects where xtype  in ('u','s')OPEN ROY_tableFETCH NEXT FROM ROY_table INTO @table_nameWHILE @@FETCH_STATUS = 0 BEGINDBCC CheckTable (@table_name)PRINT '--------------數據表'+@table_name + '的檢查整理完成------------------'FETCH NEXT FROM ROY_table INTO @table_nameENDCLOSE ROY_tableDEALLOCATE ROY_table

執行上述命名之后,會在“消息”窗口中顯示如下信息:(以下信息中只有出錯信息,其他正常信息已經去除)

服務器: 消息 8929,級別 16,狀態 1,行 10對象 ID 2: 在文本 ID 177078272 中發現錯誤,該文本的所有者是由 RID = (1:135:19) id = 661577395 and indid = 3 標識的數據記錄。服務器: 消息 8961,級別 16,狀態 1,行 10表錯誤: 對象 ID 2。text、ntext 或 image 節點(位于頁 (1:66),槽 2,文本 ID 177078272)與該節點位于頁 (1:284),槽 6 處的引用不匹配。'sysindexes' 的 DBCC 結果。對象 'sysindexes' 有 304 行,這些行位于 14 頁中。CHECKTABLE 發現了 0 個分配錯誤和 2 個一致性錯誤(在表 'sysindexes' 中,該表的對象 ID 為 2)。通過上面的提示信息,找到出錯的索引或統計信息--------------數據表sysindexes的檢查整理完成------------------服務器: 消息 8936,級別 16,狀態 1,行 10表錯誤: 對象 ID 709577566,索引 ID 1。B 樹鏈的鏈接不匹配。(1:2203)->next = (1:176),但 (1:176)->Prev = (1:2045)。服務器: 消息 8977,級別 16,狀態 1,行 10表錯誤: 對象 ID 709577566,索引 ID 1。未遇到頁 (1:2203) 的父節點。'PDE_LIST_ORG' 的 DBCC 結果。對象 'PDE_LIST_ORG' 有 216 行,這些行位于 11 頁中。CHECKTABLE 發現了 0 個分配錯誤和 2 個一致性錯誤(在表 'PDE_LIST_ORG' 中,該表的對象 ID 為 709577566)。repair_rebuild 是最低的修復級別(對于由 DBCC CHECKTABLE (work_yf.dbo.PDE_LIST_ORG ) 發現的錯誤而言)。--------------數據表PDE_LIST_ORG的檢查整理完成------------------服務器: 消息 8978,級別 16,狀態 1,行 10表錯誤: 對象 ID 725577623,索引 ID 1。頁 (1:3891) 缺少上一頁 (1:3892) 對它的引用。可能是因為鏈的鏈接有問題。服務器: 消息 8976,級別 16,狀態 1,行 10表錯誤: 對象 ID 725577623,索引 ID 1。在掃描操作中未發現頁 (1:3892),而其父代 (1:2198) 和上一頁 (1:3889) 指向了該頁。請檢查先前的錯誤。'PDE_LIST_ORG_HISTROY' 的 DBCC 結果。對象 'PDE_LIST_ORG_HISTROY' 有 16755 行,這些行位于 489 頁中。CHECKTABLE 發現了 0 個分配錯誤和 2 個一致性錯誤(在表 'PDE_LIST_ORG_HISTROY' 中,該表的對象 ID 為 725577623)。repair_rebuild 是最低的修復級別(對于由 DBCC CHECKTABLE (work_yf.dbo.PDE_LIST_ORG_HISTROY ) 發現的錯誤而言)。--------------數據表PDE_LIST_ORG_HISTROY的檢查整理完成------------------第二步,進行分析,除了上面的斜體字部分,需要注意,其他都很清楚,就是兩張業務表發生了錯誤。而斜體字部分是指一張系統表sysindexes,需要進一步查詢是哪些索引出錯了。1) 使用以下語句檢查是哪些索引出現了問題,原來是_WA_Sys_STATUS_276EDEB3出錯是問題。
SELECT *  FROM SYSINDEXES WHERE  id = 661577395 and indid = 3 select * from sysobjects where id = 661577395
第三步,進行修得操作。具體操作方法如下:--方法如下:--1. 先停掉數據庫服務器,把出問題的數據庫(例如:work_yf)的.mdf與.ldf文件備份到備份目錄中。--2.我們使用默認方式建立一個供恢復使用的數據庫(如work_yf)。可以在SQL Server Enterprise Manager里面建立。 --3.停掉數據庫服務器。 --4.將剛才生成的數據庫的日志文件work_yf_log.ldf刪除,用要修復的數據庫mdf文件覆蓋剛才生成的數據庫數據文件work_yf_data.mdf。 --5.啟動數據庫服務器。此時會看到數據庫work_yf的狀態為“置疑”。這時候不能對此數據庫進行任何操作。 --6.設置數據庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager里面選擇數據庫服務器,按右鍵,選擇“屬性”,     在“服務器設置”頁面中將“允許對系統目錄直接修改”一項選中。也可以使用如下語句來實現。 
use   master  go  exec sp_configure   'allow updates',1  go    reconfigure   with   override  go  
--7.設置work_yf為緊急修復模式 
update sysdatabases set status=-32768 where dbid=DB_ID('work_yf')  
--此時可以在SQL Server Enterprise Manager里面看到該數據庫處于“只讀/置疑/脫機/緊急模式”可以看到數據庫里面的表,但是僅僅有系統表 --8.下面執行真正的恢復操作,重建數據庫日志文件 
godbcc rebuild_log('work_yf','D:/Program Files/Microsoft SQL Server/MSSQL/Data/work_yf_log.ldf')  go
--執行過程中,如果遇到下列提示信息: --服務器: 消息 5030,級別 16,狀態 1,行 1 --未能排它地鎖定數據庫以執行該操作。 --DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 --說明您的其他程序正在使用該數據庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了work_yf庫的系統表,   那么退出SQL Server Enterprise Manager就可以了。 --正確執行完成的提示應該類似于: --警告: 數據庫 'work_yf' 的日志已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。   將必須重置數據庫選項,并且可能需要刪除多余的日志文件。 --DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 --此時打開在SQL Server Enterprise Manager里面會看到數據庫的狀態為“只供DBO使用”。此時可以訪問數據庫里面的用戶表了。 --9 設置為單用戶狀態
goexec sp_dboption 'work_yf','dbo use only','false'  GOexec sp_dboption 'work_yf', 'single user', 'true'go    reconfigure   with   override  
--10 修復表,具體要修復哪些表,請在執行DBCC CheckTable (表名) ,自行檢查。我在這里使用了"重建索引并修復(REPAIR_REBUILD)"的選項。一共有三個選項:--1) 快速修復          REPAIR_FAST--2) 重建索引并修復     REPAIR_REBUILD--3) 允許丟失數據修復    REPAIR_ALLOW_DATA_LOSS
use work_yfGODBCC CheckTable (PDE_LIST_ORG_HISTROY,REPAIR_REBUILD)GODBCC CheckTable (PDE_LIST_ORG,REPAIR_REBUILD)GODBCC CheckTable (PDE_HEAD,REPAIR_REBUILD)
--剛才我在檢查的時候,發現一個_WA_Sys_STATUS_276EDEB3也出錯了,這是SQL SERVER自動建立的統計信息,所以需要進行刪除,然后在進行修復
GODROP STATISTICS PDE_HEAD._WA_Sys_STATUS_276EDEB3GODBCC CheckTable (SYSINDEXES,REPAIR_REBUILD)GO
--11.驗證數據庫一致性(可省略) 
 use   master   go   DBCC CheckDB (work_yf) 
go
--一般執行結果如下: --CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在數據庫 'work_yf' 中)。 --DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 --12.設置數據庫為正常狀態 
exec sp_dboption 'work_yf', 'single user', 'false'goexec sp_dboption 'work_yf','dbo use only','false'  go
--如果沒有出錯,那么恭喜,現在就可以正常的使用恢復后的數據庫啦。 --13.最后一步,我們要將步驟E中設置的“允許對系統目錄直接修改”一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager里面恢復,也可以使用如下語句完成 
exec sp_configure   'allow updates',0  go    reconfigure   with   override  go 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产情人节一区| 国产精品久久久久久搜索| 日韩中文字在线| 欧美日韩成人免费| 国产一区二区av| 国产亚洲精品美女久久久久| 亚洲精品国产精品乱码不99按摩| 国产精品美乳在线观看| www.久久草.com| 亚洲最新视频在线| 亚洲欧美日韩天堂| 日韩中文字幕网站| 亚洲欧美日韩国产中文| 日韩美女在线看| 欧美电影免费观看电视剧大全| 国产精品久久久久久影视| 久久天天躁狠狠躁夜夜躁2014| 国产噜噜噜噜久久久久久久久| 国产成人免费av| 久久成年人免费电影| 亚洲精品视频网上网址在线观看| 91亚洲国产成人精品性色| 国产日产欧美a一级在线| 777国产偷窥盗摄精品视频| 精品国产91乱高清在线观看| 最近2019中文免费高清视频观看www99| 美日韩精品免费视频| 一区二区在线免费视频| 91免费看视频.| 亚洲第一av网| 一个人www欧美| 国产日本欧美在线观看| 国产精品视频999| 国产成人精品视频| 日韩成人高清在线| 国产综合久久久久久| 国产婷婷色综合av蜜臀av| 大量国产精品视频| 91免费在线视频| 欧美成人免费大片| 精品欧美一区二区三区| 欧美极品少妇xxxxⅹ免费视频| 亚洲国产精品久久久久秋霞不卡| 日韩在线免费观看视频| 日韩色av导航| 国产精品老女人视频| 成人欧美一区二区三区在线| 精品国偷自产在线视频99| 国语自产精品视频在免费| 亚洲网站在线看| 激情亚洲一区二区三区四区| 欧美精品videos| 亚洲成在人线av| 久久男人av资源网站| 日本一区二区在线免费播放| 国内精品400部情侣激情| 久久久精品中文字幕| 成人激情视频小说免费下载| 国产精选久久久久久| 国产视频精品在线| 91成人在线观看国产| 91色精品视频在线| 欧美成人精品在线播放| 91精品国产高清| 亚洲人高潮女人毛茸茸| 欧美日韩xxx| 久久不射电影网| 欧美黑人巨大xxx极品| 国产免费亚洲高清| 精品美女永久免费视频| 久久久久久成人精品| 欧美激情亚洲激情| 日韩一区二区三区在线播放| 久久人人爽人人爽人人片亚洲| 欧美激情第99页| 97不卡在线视频| 日韩激情在线视频| 国产小视频91| 亚洲网址你懂得| 人人澡人人澡人人看欧美| 日韩一区二区精品视频| 中文字幕亚洲一区二区三区五十路| 欧美xxxx14xxxxx性爽| 亚洲第一福利视频| 日韩中文字幕免费看| 国产成人在线精品| 2020国产精品视频| 国产91精品最新在线播放| 日本精品视频在线观看| 精品自拍视频在线观看| 国产精品一二三在线| 91免费观看网站| 精品国产一区二区在线| 国产精品爽黄69| 亚洲xxxx视频| 欧美性xxxxhd| 亚洲人成电影在线播放| 国产精品一区二区久久久久| 久久乐国产精品| 欧美老妇交乱视频| 日韩视频亚洲视频| 日韩免费在线免费观看| 久久久国产精品x99av| 亚洲精品成人免费| 热99精品只有里视频精品| 国产一区二区三区在线视频| 成人黄色中文字幕| 国产精品69精品一区二区三区| 欧美肥臀大乳一区二区免费视频| 精品成人国产在线观看男人呻吟| 国产精品美女主播| 国产性猛交xxxx免费看久久| 国产精品久久久91| 久久精品国产清自在天天线| 日韩高清人体午夜| 在线精品国产欧美| 成人黄色在线观看| 夜夜躁日日躁狠狠久久88av| 日韩欧美在线视频观看| 日韩av大片免费看| 国产精品av在线播放| 亚洲成人黄色网址| 欧美性xxxx极品hd欧美风情| 国产一区二区动漫| 日韩精品在线免费观看| 精品国产一区二区三区久久狼5月| 疯狂做受xxxx高潮欧美日本| 久久视频免费在线播放| 中文字幕亚洲综合| 国产免费一区二区三区香蕉精| 亚洲第一福利视频| 欧美视频一二三| 亚洲第一免费播放区| 美女视频黄免费的亚洲男人天堂| 成人亲热视频网站| 久久精品在线视频| 久久精品99无色码中文字幕| 国产成人免费91av在线| 久精品免费视频| 久久影视电视剧免费网站清宫辞电视| 国产精品入口尤物| 国产一区二中文字幕在线看| 国产成人激情视频| 国产精品扒开腿做爽爽爽视频| 欧美电影第一页| 国产91亚洲精品| 亚洲国产精品电影| 亚洲色在线视频| 综合国产在线观看| 日韩美女毛茸茸| 欧美激情中文字幕乱码免费| 91精品国产91久久久久久吃药| 久久免费福利视频| 国产欧美一区二区三区在线看| 精品国产一区二区三区久久| 热久久视久久精品18亚洲精品| 欧美精品中文字幕一区| 国语自产精品视频在线看抢先版图片| 亚洲精品国产精品自产a区红杏吧| 日本精品免费一区二区三区| 亚洲国产精品人久久电影| www.日韩欧美| 国产亚洲精品久久久久久777| 国产日韩欧美在线|