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 ...