還原數(shù)據(jù)庫(kù)的經(jīng)典做法
發(fā)表時(shí)間:2024-01-20 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]還原數(shù)據(jù)庫(kù)的經(jīng)典做法說(shuō)明 所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫(kù)備份。 A. 還原完整數(shù)據(jù)庫(kù) 說(shuō)明 MyNwind 數(shù)據(jù)庫(kù)僅供舉例說(shuō)明。 下例顯示還原完整數(shù)據(jù)庫(kù)備份。 RESTORE DATABASE MyNwind FROM MyNwind_1 B. 還原完整數(shù)據(jù)庫(kù)備份和差異備份 下例還原完整數(shù)...
還原數(shù)據(jù)庫(kù)的經(jīng)典做法說(shuō)明 所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫(kù)備份。
A. 還原完整數(shù)據(jù)庫(kù)
說(shuō)明 MyNwind 數(shù)據(jù)庫(kù)僅供舉例說(shuō)明。
下例顯示還原完整數(shù)據(jù)庫(kù)備份。
RESTORE DATABASE MyNwind
FROM MyNwind_1
B. 還原完整數(shù)據(jù)庫(kù)備份和差異備份
下例還原完整數(shù)據(jù)庫(kù)備份后還原差異備份。另外,下例還說(shuō)明如何還原媒體上的另一個(gè)備份集。差異備份追加到包含完整數(shù)據(jù)庫(kù)備份的備份設(shè)備上。
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH FILE = 2
C. 使用 RESTART 語(yǔ)法還原數(shù)據(jù)庫(kù)
下例使用 RESTART 選項(xiàng)重新啟動(dòng)因服務(wù)器電源故障而中斷的 RESTORE 操作。
-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE MyNwind
FROM MyNwind_1
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE MyNwind
FROM MyNwind_1 WITH RESTART
D. 還原數(shù)據(jù)庫(kù)并移動(dòng)文件
下例還原完整數(shù)據(jù)庫(kù)和事務(wù)日志,并將已還原的數(shù)據(jù)庫(kù)移動(dòng)到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目錄下。
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY,
MOVE 'MyNwind' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf',
MOVE 'MyNwindLog1' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf'
RESTORE LOG MyNwind
FROM MyNwindLog1
WITH RECOVERY
E. 使用 BACKUP 和 RESTORE 創(chuàng)建數(shù)據(jù)庫(kù)的復(fù)本
下例顯示使用 BACKUP 和 RESTORE 語(yǔ)句創(chuàng)建 Northwind 數(shù)據(jù)庫(kù)的復(fù)本。MOVE 語(yǔ)句使數(shù)據(jù)和日志文件還原到指定的位置。RESTORE FILELISTONLY 語(yǔ)句用于確定待還原數(shù)據(jù)庫(kù)內(nèi)的文件數(shù)及名稱。該數(shù)據(jù)庫(kù)的新復(fù)本稱為 TestDB。有關(guān)更多信息,請(qǐng)參見(jiàn) RESTORE FILELISTONLY。
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
RESTORE FILELISTONLY
FROM DISK = 'c:\Northwind.bak'
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
GO
F. 使用 STOPAT 語(yǔ)法還原到即時(shí)點(diǎn)和使用多個(gè)設(shè)備進(jìn)行還原
下例將數(shù)據(jù)庫(kù)還原到其在 1998 年 4 月 15 日中午 12 點(diǎn)時(shí)的狀態(tài),并顯示涉及多個(gè)日志和多個(gè)備份設(shè)備的還原操作。
RESTORE DATABASE MyNwind
FROM MyNwind_1, MyNwind_2
WITH NORECOVERY
RESTORE LOG MyNwind
FROM MyNwindLog1
WITH NORECOVERY
RESTORE LOG MyNwind
FROM MyNwindLog2
WITH RECOVERY, STOPAT = 'Apr 15, 1998 12:00 AM'
G. 使用 TAPE 語(yǔ)法還原
下例顯示從 TAPE 備份設(shè)備還原完整數(shù)據(jù)庫(kù)備份。
RESTORE DATABASE MyNwind
FROM TAPE = '\\.\tape0'
H. 使用 FILE 和 FILEGROUP 語(yǔ)法還原
下例還原一個(gè)包含兩個(gè)文件、一個(gè)文件組和一個(gè)事務(wù)日志的數(shù)據(jù)庫(kù)。
RESTORE DATABASE MyNwind
FILE = 'MyNwind_data_1',
FILE = 'MyNwind_data_2',
FILEGROUP = 'new_customers'
FROM MyNwind_1
WITH NORECOVERY
-- Restore the log backup.
RESTORE LOG MyNwind
FROM MyNwindLog1
I. 將事務(wù)日志還原到標(biāo)記處
下例顯示將事務(wù)日志還原到名為"RoyaltyUpdate"的標(biāo)記處。
BEGIN TRANSACTION RoyaltyUpdate
WITH MARK 'Update royalty values'
GO
USE pubs
GO
UPDATE roysched
SET royalty = royalty * 1.10
WHERE title_id LIKE 'PC%'
GO
COMMIT TRANSACTION RoyaltyUpdate
GO
--Time passes. Regular database
--and log backups are taken.
--An error occurs.
USE master
GO
RESTORE DATABASE pubs
FROM Pubs1
WITH FILE = 3, NORECOVERY
GO
RESTORE LOG pubs
FROM Pubs1
WITH FILE = 4,
STOPATMARK = 'RoyaltyUpdate'
呵呵,俺先在這兒拋幾塊磚頭,有玉的盡管拿來(lái):)