明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

還原數(shù)據(jù)庫(kù)的經(jīng)典做法

[摘要]還原數(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):)