還原數(shù)據(jù)庫的經(jīng)典做法
發(fā)表時間:2024-05-22 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]還原數(shù)據(jù)庫的經(jīng)典做法說明 所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫備份。 A. 還原完整數(shù)據(jù)庫 說明 MyNwind 數(shù)據(jù)庫僅供舉例說明。 下例顯示還原完整數(shù)據(jù)庫備份。 RESTORE DATABASE MyNwind FROM MyNwind_1 B. 還原完整數(shù)據(jù)庫備份和差異備份 下例還原完整數(shù)...
還原數(shù)據(jù)庫的經(jīng)典做法說明 所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫備份。
A. 還原完整數(shù)據(jù)庫
說明 MyNwind 數(shù)據(jù)庫僅供舉例說明。
下例顯示還原完整數(shù)據(jù)庫備份。
RESTORE DATABASE MyNwind
FROM MyNwind_1
B. 還原完整數(shù)據(jù)庫備份和差異備份
下例還原完整數(shù)據(jù)庫備份后還原差異備份。另外,下例還說明如何還原媒體上的另一個備份集。差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH FILE = 2
C. 使用 RESTART 語法還原數(shù)據(jù)庫
下例使用 RESTART 選項重新啟動因服務(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ù)庫并移動文件
下例還原完整數(shù)據(jù)庫和事務(wù)日志,并將已還原的數(shù)據(jù)庫移動到 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ù)庫的復(fù)本
下例顯示使用 BACKUP 和 RESTORE 語句創(chuàng)建 Northwind 數(shù)據(jù)庫的復(fù)本。MOVE 語句使數(shù)據(jù)和日志文件還原到指定的位置。RESTORE FILELISTONLY 語句用于確定待還原數(shù)據(jù)庫內(nèi)的文件數(shù)及名稱。該數(shù)據(jù)庫的新復(fù)本稱為 TestDB。有關(guā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 語法還原到即時點和使用多個設(shè)備進行還原
下例將數(shù)據(jù)庫還原到其在 1998 年 4 月 15 日中午 12 點時的狀態(tài),并顯示涉及多個日志和多個備份設(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 語法還原
下例顯示從 TAPE 備份設(shè)備還原完整數(shù)據(jù)庫備份。
RESTORE DATABASE MyNwind
FROM TAPE = '\\.\tape0'
H. 使用 FILE 和 FILEGROUP 語法還原
下例還原一個包含兩個文件、一個文件組和一個事務(wù)日志的數(shù)據(jù)庫。
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'
呵呵,俺先在這兒拋幾塊磚頭,有玉的盡管拿來:)