部分資料檔案損壞的修復處理示例 sql

2022-02-11 20:23:16 字數 1377 閱讀 6986

use master

--建立資料庫

create database db

on primary(

name='db_data',

filename= 'c:\db_data.mdf'),

filegroup db_fg1(

name = 'db_fg1_data',

filename = 'c:\db_fg1_data.ndf'),

filegroup db_fg2(

name = 'db_fg2_data',

filename = 'c:\db_fg2_data.ndf')

log on(

name='db_log',

filename ='c:\db.ldf')

go--建立表

create table db.dbo.ta(id int) on [primary]

create table db.dbo.tb(id int) on db_fg1

create table db.dbo.tc(id int) on db_fg2

insert db.dbo.tb select id from sysobjects

go--做檔案組備份

backup database db filegroup='db_fg1' to disk='c:\db_fg1.bak' with format

--備份後,再做資料處理

insert db.dbo.ta select id from sysobjects

go/*--下面演示了破壞資料檔案的處理,這些操作在作業系統中進行

1. 停止sql server服務(msqlserver服務)

2. 刪除檔案 c:\db_fg1_data.ndf (模擬破壞)

3. 重新sql server服務,此時資料庫db置疑

--*/

go--下面演示了如何恢復資料

--首先要備份當前日誌

backup log db to disk='c:\db_log.bak' with format,no_truncate

--利用檔案組備份恢復破壞的檔案

restore database db filegroup='db_fg1' from disk='c:\db_fg1.bak' with norecovery

--還原到日誌點

restore log db from disk='c:\db_log.bak' with recovery

--顯示已經恢復的資料

select count(*) from db.dbo.tb

select count(*) from db.dbo.ta

go--刪除測試

drop database db

部分資料檔案損壞的修復處理示例 sql

use master 建立資料庫 create database db on primary name db data filename c db data.mdf filegroup db fg1 name db fg1 data filename c db fg1 data.ndf filegr...

Oracle資料檔案損壞無法正常修復問題

如果oracle資料庫中,某個資料檔案損壞,有冷備,但是歸檔日誌檔案缺失,導致資料檔案無法恢復到一致性狀態。這種情況下如果沒有其他恢復介質,可以接受資料丟失的話,可以通過修改資料檔案頭的scn號,使system checkpoint scn和datafile checkpoint scn號一致,就可...

僅有日誌檔案的資料修復處理示例 sql

use master 建立資料庫 create database db on primary name db data filename c db data.mdf log on name db log filename c db.ldf go 建立表 create table db.dbo.ta ...