色16p_色综合色狠狠天天久久婷婷基地_国产成人精品视频2021_98精品国产高清在线看入口 - 亚洲精品国产字幕久久不卡

 

服務器系統集成及數據服務中心

 

一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
鎶琛?sh霉)璩囨枡…………………………………………………………………………………………>>>

SQL數據庫受損MDF修復過程

mdf文件受損,壞道。原因為:陣列中一含新鮮數據的硬盤損壞而無法修復及通過各種辦法也不能提取物理數據,不得已使用了含過期數據的硬盤進行恢復;其結果可想而知,數據是不能用的,內含大量錯誤,必須修復才能使用,以最大限度的晚會損失。

1、系統表維修

USE zygl3_data
GO
SELECT au.allocation_unit_id, OBJECT_NAME(p.object_id) AS table_name, fg.name AS filegroup_name,
au.type_desc AS allocation_type, au.data_pages, partition_number
FROM sys.allocation_units AS au
JOIN sys.partitions AS p ON au.container_id = p.partition_id
JOIN sys.filegroups AS fg ON fg.data_space_id = au.data_space_id
WHERE au.allocation_unit_id = 72057594055098368 OR au.allocation_unit_id = 72057594055098368
ORDER BY au.allocation_unit_id
GO

2、過程

經驗,使用systools工具在2003下運行很快,在win7-64下運行很慢;
第一個systools進程,占用內存很大,要使用360加速,點擊一鍵加速即可;
否則內存占用達到接近2G時,程序會崩潰;
第二個我systool進程,比較好,它調用了sqlwb.exe程序,使得主程序占用內存基本穩定,不再增長,而sqlservr占用增長,不過一般不超過1.8G就不增了。

打開sql企業管理器,指向master,新建查詢。
執行
alter database zygl3_data set emergency

清空屏幕

執行以下語句
use master
declare @databasename varchar(255)
set @databasename=''zygl3_data''
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''將目標數據庫置為多用戶狀態

這時候,發現路徑錯誤,手工建立所需路徑;本例是手工在D盤建立sqldata目錄,

接著執行以下語句(與上相同)
use master
declare @databasename varchar(255)
set @databasename=''zygl3_data''
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''將目標數據庫置為多用戶狀態

日志文件生成;以上是在win2003R2-32下操作完成,在win7-64&sql64下不通過。
但是數據庫存在錯誤:


USE zygl3_data
GO
SELECT au.allocation_unit_id, OBJECT_NAME(p.object_id) AS table_name, fg.name AS filegroup_name,
au.type_desc AS allocation_type, au.data_pages, partition_number
FROM sys.allocation_units AS au
JOIN sys.partitions AS p ON au.container_id = p.partition_id
JOIN sys.filegroups AS fg ON fg.data_space_id = au.data_space_id
WHERE au.allocation_unit_id = 72057594055098368 OR au.allocation_unit_id = 72057594055098368
ORDER BY au.allocation_unit_id
GO

錯誤信息SQL Server 檢測到基于一致性的邏輯 I/O 錯誤 頁撕裂(簽名應該為: 0xaaaaaaaa,但實際為: 0x55aaaaaa)。在文件 ''F:\888東營\ok\zygl3_data.mdf'' 中、偏移量為 0x00000000b8e000 的位置對數據庫 ID 7 中的頁 (1:1479) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。

DBCC CHECKDB
消息 7985,級別 16,狀態 2,第 1 行
系統表預檢查: 對象 ID 4。無法使用閂鎖類型 SH 讀取并閂鎖頁 (1:600071)。由于不可修復的錯誤,CHECK 語句已終止。
zygl3_data的 DBCC 結果。
消息 5233,級別 16,狀態 98,第 1 行
表錯誤: 分配單元 ID 262144,頁 (1:600071)。測試(IS_OFF (BUF_IOERR, pBUF->bstat))失敗。值是 12716297 和 -1。
CHECKDB 發現有 0 個分配錯誤和 1 個一致性錯誤與任何單個的對象都沒有關聯。
CHECKDB 在數據庫 ''zygl3_data'' 中發現 0 個分配錯誤和 1 個一致性錯誤。

select * from sysobjects
消息 824,級別 24,狀態 2,第 1 行
SQL Server 檢測到基于一致性的邏輯 I/O 錯誤 頁撕裂(簽名應該為: 0xaaaaaaaa,但實際為: 0x55aaaaaa)。在文件 ''E:\zygl3zc_Data\zzz\zygl3_data.mdf'' 中、偏移量為 0x0000018fd1a000 的位置對數據庫 ID 5 中的頁 (1:818829) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。

select * from sysindexes
消息 824,級別 24,狀態 2,第 1 行
SQL Server 檢測到基于一致性的邏輯 I/O 錯誤 頁撕裂(簽名應該為: 0xaaaaaaaa,但實際為: 0x55aaaaaa)。在文件 ''E:\zygl3zc_Data\zzz\zygl3_data.mdf'' 中、偏移量為 0x0000018fd1a000 的位置對數據庫 ID 5 中的頁 (1:818829) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。


select * from syscolumns
消息 824,級別 24,狀態 2,第 1 行
SQL Server 檢測到基于一致性的邏輯 I/O 錯誤 頁撕裂(簽名應該為: 0xaaaaaaaa,但實際為: 0x55aaaaaa)。在文件 ''E:\zygl3zc_Data\zzz\zygl3_data.mdf'' 中、偏移量為 0x0000018fd1a000 的位置對數據庫 ID 5 中的頁 (1:818829) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。

處理步驟:
第一步: 處理可以訪問的數據表
(1.1) 找出哪些表不可訪問;
  新建立一個sql svr數據庫,數據庫實體名為AisNew。進入查詢分析器,執行如下SQL:
use zygl3_data
DECLARE @TbName VARCHAR(80)
DECLARE FindErrTable SCROLL CURSOR FOR 
  select name from zygl.dbo.sysobjects where xtype=''u'' order by name
OPEN FindErrTable
FETCH FindErrTable INTO  @TbName
  WHILE @@FETCH_STATUS<>-1
    BEGIN
          print  @TbName
          exec( ''select top 1 * from'' +  @TbName)
          FETCH FindErrTable INTO  @TbName
    END
PRINT ''Scan Complate…''
CLOSE FindErrTable
DEALLOCATE FindErrTable

************************
ALTER  DATABASE  zygl3_data  set  SINGLE_USER   
Go                    將數據庫設置為單用戶模式
DBCC  CHECKDB (zygl3_data, repair_allow_data_loss)  with NO_INFOMSGS 
go    允許丟失數據  
ALTER  DATABASE  zygl3_data  SET  MULTI_USER  
go 

發布時間:2017/6/11 閱讀:10494次 來源:煙臺數據恢復老李
 


 
鎶琛?sh霉)璩囨枡分類
   
  行業新聞
 
  公司動態
 
  技術資料
 
  電腦維修
 
  恢復案例
 
  SQL數據庫
 
  磁盤陣列
 
  服務器
 
  財務軟件
 
  網絡問題
 
  linux-XFS
 
  辦公文件
 
  操作系統
 
  日常生活(煙臺)
 
  網站相關
 
   
 
友情鏈接
 
 
 
 
 
   
公司地址:煙臺電腦市場A310
電話:15336380195 E-Mail:sd_lzc@sina.com
Copyright©2011-2012 煙臺知昭電子 All Rights Reserved.
魯ICP備11014811號-1
您是本站第 位訪問者