技术开发 频道

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

  【IT168 技术】将转储设备加入到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
0
相关文章