SQL Server資料庫中轉儲裝置的分析

iSQlServer發表於2009-02-01

將轉儲裝置加入到SQL Server備份資料庫的地方。在SEM中轉儲裝置是可見性的,並且在裝置上的資訊被儲存在主要資料庫的sysdevice表中。Sysadmin和diskadmin伺服器成員允許加入並撤消此裝置。

下面的指令碼顯示瞭如何加入這個裝置。Sysdvices表得到裝置上的資訊然後撤消轉儲裝置。

以下為引用的內容:

  EXEC sp_addumpdevice 'DISK', 'pubs_dump', 'c:\pubs_dump.bak'
  GO
  BACKUP DATABASE pubs TO pubs_dump WITH NOINIT, STATS = 10
  GO
  SELECT name logical_name, phyname physical_name, *
  FROM master..sysdevices WHERE name = 'pubs_dump'
  GO
  EXEC sp_dropdevice pubs_dump, DELFILE
  GO

你可以不通過轉儲裝置直接輩分資料庫。下面的命令將完成這個步驟:

以下為引用的內容:

  BACKUP DATABASE pubs TO DISK='c:\pubs_filedump.bak'
    WITH NOINIT, STATS = 10
  GO

SEM在資料庫的備份中是不可見的,它直接到磁碟中。因此,你可以將轉儲裝置加入用來指向這個檔案。當轉儲裝置被加入以後,你可以利用SEM向轉儲裝置提供可見性的檔案。加入轉儲裝置並不能看到儲存檔案的內容,但是SEM可以看到這些內容。

以下為引用的內容:

  SELECT name logical_name, phyname physical_name, *
  FROM master..sysdevices WHERE name like '%pubs%'
  GO
  EXEC sp_addumpdevice 'DISK', 'pubs_diskdump', 'c:\pubs_filedump.bak'
  GO
  SELECT name logical_name, phyname physical_name, *
  FROM master..sysdevices WHERE name like '%pubs%'
  GO

如果要撤消這個裝置和檔案,你可以對邏輯裝置名使用sp_dropdevice命令。如果想刪除轉儲裝置所指向的檔案,你可以加入DELFILED語句。下面指令碼將會撤消先前建立的裝置:

以下為引用的內容:

  EXEC sp_dropdevice pubs_diskdump, DELFILE
  GO
  SELECT name logical_name, phyname physical_name, *
  FROM master..sysdevices WHERE name like '%pubs%'
  GO

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

相關文章