如何還原某一個目錄下的所有數(shù)據(jù)庫備份文件(1) |
發(fā)布時間: 2012/6/16 21:35:38 |
引述
●根據(jù)備份文件找出數(shù)據(jù)庫名 在還原數(shù)據(jù)庫的開始,我們先要知道把備份數(shù)據(jù)庫文件還原到哪一個數(shù)據(jù)庫上。在真實世界中,我們無法保證備份數(shù)據(jù)庫文件都為”數(shù)據(jù)庫名+.bak”格式 (如:myDB.bak,其中myDB就是數(shù)據(jù)庫名)。通常情況,只知道備份文件,需要知道數(shù)據(jù)庫名,我們可以通過SQL Server提供的T-SQL語句“Restore HeaderOnly”來找出原來的數(shù)據(jù)庫名,簡單語法這樣:Restore HeaderOnly From 返回的結(jié)果集中,有一列”DatabaseName”描述備份的數(shù)據(jù)名。通過”DatabaseName”列,就可以找出我們需要的原來數(shù)據(jù)庫名了。 e.g.
【注:】在結(jié)果集中, SQL Server 2008/R2 比 SQL Server 2005 多一個列”CompressedBackupSize”。 ●根據(jù)備份文件找出數(shù)據(jù)、日志列表 接下來,我們需要知道備份文件中包含哪些數(shù)據(jù)、日志文件,及要知道原來的文件路徑是什么。要是原來的數(shù)據(jù)庫文件存儲路徑與新路徑不一致,我們需要在”Restore Database …” 里面使用” Move”選項。這里我們可以通過使用SQL Server 提供的T-SQL語句”Restore FileListOnly”,返回數(shù)據(jù)庫和日志文件列表組成的結(jié)果集,簡單語法這樣:Restore FileListOnly From <backup_device> e.g.
【注:】在結(jié)果集中, SQL Server 2008/R2 比 SQL Server 2005 多一個列”TDEThumbprint”,應(yīng)用于顯示數(shù)據(jù)庫加密密鑰的指紋。 ●構(gòu)造還原數(shù)據(jù)庫SQL語句 上面兩點內(nèi)容,我們根據(jù)備份文件,知道了要還原的數(shù)據(jù)庫名和數(shù)據(jù)庫文件列表,那么,我們基本可以構(gòu)造出還原數(shù)據(jù)庫的SQL語句了。 e.g.
本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |