SQL Server:在沒有完整備份的前提下做差異備份,居然成功了。能成嗎?(續2)

cow977發表於2012-07-18

繼續測試:

先清除DEMO資料庫的備份資訊:

Use msdb

dbo.sp_delete_database_backuphistory demo

 

select b.physical_device_name, backup_set_id,first_lsn,last_lsn,checkpoint_lsn,database_backup_lsn,

backup_start_date,backup_finish_date,type,differential_base_lsn

 from backupset a join backupmediafamily b on a.media_set_id=b.media_set_id

where database_name='demo'

 

(0 行受影響)

 

BACKUP DATABASE [demo]

TO  DISK = N'C:\MyExe\demo.diff'

  WITH  DIFFERENTIAL , NOFORMAT, INIT,

    NAME = N'demo-差異資料庫備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

 

已處理百分之11

已處理百分之22

已處理百分之33

已處理百分之44

已處理百分之55

已處理百分之61

已處理百分之72

已處理百分之83

已處理百分之94

已為資料庫'demo',檔案'demo' (位於檔案1 )處理了144 頁。

已處理百分之100

已為資料庫'demo',檔案'demo_log' (位於檔案1 )處理了1 頁。

BACKUP DATABASE WITH DIFFERENTIAL 成功處理了145 頁,花費0.411 (2.739 MB/)

 

 

select b.physical_device_name, backup_set_id,first_lsn,last_lsn,checkpoint_lsn,database_backup_lsn,

backup_start_date,backup_finish_date,type,differential_base_lsn

 from backupset a join backupmediafamily b on a.media_set_id=b.media_set_id

  where database_name='demo'

 

physical_device_name  backup_set_id  first_lsn           last_lsn

C:\MyExe\demo.diff    5              296000000008400001  296000000008600001

checkpoint_lsn      database_backup_lsn    backup_start_date

296000000008400001  295000000016000037     2012-07-17 12:33:06.000

backup_finish_date       type    differential_base_lsn

2012-07-17 12:33:06.000  I       295000000016000037

 

 

恢復資料庫:

RESTORE DATABASE [demotest]

FROM  DISK = N'C:\MyExe\demo.diff'

  WITH  FILE = 1,

  MOVE N'demo' TO N'C:\MyExe\demotest.mdf',

  MOVE N'demo_log' TO N'C:\MyExe\demotest_1.ldf',  NOUNLOAD,  STATS = 10

GO

 

訊息3118,級別16,狀態1,第1

資料庫"demotest" 不存在。RESTORE 只能在還原主檔案的完整備份或檔案備份時建立資料庫。

訊息3013,級別16,狀態1,第1

RESTORE DATABASE 正在異常終止。

 

差異備份命令執行成功,但因缺少完整備份,資料庫不能恢復。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-735891/,如需轉載,請註明出處,否則將追究法律責任。

相關文章