Microsoft SQL Server备份physical_device_name

时间:2014-10-07 05:57:19

标签: sql sql-server sql-server-2008 backup

我在Microsoft SQL Server中配置了2个备份任务,以便对我们的数据库进行完整和增量备份。 Microsoft SQL Server的版本是2008 R2。

问题是,我已经配置了一个位置,直到几周前一切都很顺利。问题是它当前在无法找到的位置创建了这些备份。如果我检查日志,一切都很顺利。但是在目标目录中,没有该备份文件的痕迹。

当我执行以下查询时,我在physical_device_name中得到一个奇怪的值:

SELECT
    physical_device_name,
    backup_start_date,
    backup_finish_date,
    backup_size/1024.0 AS BackupSizeKB
FROM msdb.dbo.backupset b
JOIN msdb.dbo.backupmediafamily m ON b.media_set_id = m.media_set_id
WHERE database_name = 'DB_NAME'
ORDER BY backup_finish_date DESC

这些是我为physical_device_name获取的值:

  • {4CAE7525-44D7-4DEF-86A7-F9C7C99C013C} 3
  • {EC6FB844-832G-4A8F-BDDE-12D073383139} 3

等等......

知道这是为什么以及如何解决它?我最初的想法是那些目录是只读的。我改变了,但是由于同样的原因,我看到昨晚的一个备份再次失败了。

2 个答案:

答案 0 :(得分:1)

是的 - 如果你看一下device_type(在backupmediafamily表中),你会发现它可能是一个虚拟设备(7)并且正在由你的虚拟机软件备份。

答案 1 :(得分:0)

美好的一天,

SQL Server支持使用卷影复制(VSS)(也称为卷快照)的可感知虚拟化的备份解决方案。例如,SQL Server支持Hyper-V和VMware备份。 For more information check this document

当主机备份系统时,将使用SQL Server VSS编写器服务(在虚拟机上安装SQL Server时应正在运行)。

您应注意,这些备份在“ device_type”列中的值为7(7表示虚拟设备)。这些行实际上非常有用,例如,它有助于了解虚拟机备份正在SQL Server实例上运行完整的数据库备份。这些备份文件不在虚拟机范围内(在计算机级别之上),因此没有任何备份文件-它们是由主机(例如,Hyper-V或VMware)触发的。

More information here.