关于SQL Server数据库中转储设备分析

网络整理 - 07-27
将转储设备加入到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