我在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获取的值:
等等......
知道这是为什么以及如何解决它?我最初的想法是那些目录是只读的。我改变了,但是由于同样的原因,我看到昨晚的一个备份再次失败了。
答案 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)触发的。