把拷貝過的SQL Server 數(shù)據(jù)庫恢復(fù)的正確方法
發(fā)布時間:2008-07-28 閱讀數(shù): 次 來源:網(wǎng)樂原科技
在SQL Server 7中由于MS重新設(shè)計了數(shù)據(jù)庫文件的存儲方式,取消了新建設(shè)備再建數(shù)據(jù)庫這一繁瑣的過程。新的存儲格式,一個數(shù)據(jù)庫包括兩個文件,mdf數(shù)據(jù)庫文件和ldf日志文件。所以我們在重裝機(jī)器備份時可以把你要備份的數(shù)據(jù)庫的這兩個文件拷貝出來,重新安裝之后再恢復(fù)。
在SQL Server中提供了這種恢復(fù)方式的存儲過程。
1.sp_attach_db [@dbname =] 'dbname',[@2004726153255.htm1 =] '2004726153255.htm_n'
給系統(tǒng)添加一個數(shù)據(jù)庫,在dbname指定數(shù)據(jù)庫名稱,2004726153255.htm_n指定數(shù)據(jù)庫的文件和日志文件。比如我有一個voogiya的庫,停止SQL Server服務(wù)備份voogiya_data.mdf,voogiya_log.ldf,啟動SQL server,刪除掉這個庫,然后再把這兩上文件拷到sql server DATA目錄中,在Query Analyzer中執(zhí)行如下語句:
EXEC sp_attach_db @dbname = N'voogiya',
@2004726153255.htm1 = N'd:\mssql7\data\voogiya_data.mdf',
@2004726153255.htm2 = N'd:\mssql7\data\voogiya_log.ldf'
就會把這個庫加入到SQL Server Group中.
2.sp_attach_single_file_db [@dbname =] 'dbname',
[@physname =] 'physical_name'
這個命令和上面的功能一樣,在physical_name中只要寫上據(jù)庫的物理文件名就可以了,日志文件SQL server會重新建立。這個存儲過程的運(yùn)行要先執(zhí)行下面的存儲過程:
sp_detach_db @dbname = 'dbname'
同樣以上面的為例:
EXEC sp_detach_db @dbname = 'voogiya'
EXEC sp_attach_single_file_db @dbname = 'voogiya',
@physname = 'd:\mssql7\data\voogiya_data.mdf'
要注意執(zhí)行以上存儲過程的用戶要在sysadmin中.
以上方法在windows Nt 4.0,service pack5,sql server 7.0上運(yùn)行通過。