我注意到,在将 SQL Server 2012 Enterprise 迁移到 SQL Server 2012 Express 之后,每天都会在手动备份数据库后显示“虚假”虚拟备份。
当我执行此 T-SQL 以显示备份详细信息时
select * from msdb.dbo.backupset;
select * from msdb.dbo.backupmediafamily;
它显示备份详细信息以及手动备份详细信息和虚拟设备备份详细信息。我还附上了 backupset 和 backupmediafamily 的截图:
*编辑后*
我已经从 windows PowerShell 签出,SQLWriter 服务正在窗口服务中运行。我的 Windows Server 2012 R2 已经安装在域环境中。因此,虚拟备份是从 SQLWriter 服务运行的。
为什么它显示大部分自动备份在虚拟设备中使用NT AUTHORITY\SYSTEM
用户名 & 默认情况下它显示虚拟设备及其一些虚拟位置的备份。但是我的 SQL Server 数据库没有附加任何 SAN 设备。
数据库位于 SQL Server 2012 Express 上。所以,SQL Server Agent Automatic Backup 没有任何选项。它如何在日志文件中显示自动备份。根据 MSDN https://msdn.microsoft.com/en-us/library/ms178018(v=sql.110).aspx & https://technet,它会自动采用表示虚拟设备位置的“Device_Type=7” .microsoft.com/en-us/library/ms190284(v=sql.110).aspx 如果“Device_Type=7”即虚拟设备。
但在这里我想说的是,在迁移数据库之前,数据库是在 SQL Server 2012 Enterprise 上并且设置了 SQL Server Agent 自动备份。但这次使用的是 SQL Server 2012 Express。
它甚至会自动备份“系统数据库”和“用户数据库”。
我的问题是,如果没有设置任何虚拟设备,那么为什么我的 SQL Server Express 数据库要进行虚拟备份。甚至这个数据库也是我的审计数据库。如果此备份将继续进行下去。
对我的审计数据有影响吗?
任何建议将不胜感激?
这是因为某些工具或 Windows 服务器本机备份功能正在对 SQL Server 进行快照备份。此类备份通常使用
NT AUTHORITY\SYSTEM
和SQL Server VSS writer service
连接来执行快照备份。请注意,既然你说没有安排第三方备份,我在这里猜测它可能是 Windows 本机备份。如果您想找到有关此类备份的更多信息,请启动分析器并在备份运行时捕获事件。或者您可以安排探查器。我必须说探查器可以创建负载,因此请注意这一点,以便在配置探查器时在事件中有选择性。
解决方法:
如果你非常确定你不需要这个备份,IMO 与本地 TSQL 备份相比是无用的,你可以
go ahead and disable SQL Server VSS writer service
。您可以转到 Services.msc,您会在那里找到此服务,然后将其禁用。不,此类备份不会对您的数据产生任何影响,但是会在运行时占用系统资源。