Nic*_*nay 10 sql-server backup sql-server-2012
当我使用以下查询监控我的备份时:
SELECT command, percent_complete,
'elapsed' = total_elapsed_time / 60000.0,
'remaining' = estimated_completion_time / 60000.0
FROM sys.dm_exec_requests
WHERE command like 'BACKUP%'
or command like 'RESTORE%'
Run Code Online (Sandbox Code Playgroud)
我注意到在备份之前,SQL Server 只在备份之后执行还原标头。
我想知道它有什么用处,以及它的执行时间是否可以以某种方式减少。它似乎比实际备份花费的时间更长。
我注意到在备份之前,SQL Server 只在备份之后执行还原标头。
这可能是 sql server 内部执行的还原步骤的一部分。
您可以使用DBCC TRACEON(3604, 3605, 3004);. 在非生产服务器上仅将其用于教育目的。
正如您在上面看到的,恢复的主要阶段有3 个 - 数据复制、撤消和重做阶段以及其他子阶段,其中还包括打开和加载备份集。
它似乎比实际备份花费的时间更长。
为了缩短恢复时间,您应该
with REPLACE
对现有数据库使用 T-SQL 和还原,而不是删除和还原。请参阅@AaronBertrand 的“照看慢速备份或恢复”。
RESTORE HEADERONLY
允许 SQL Server 在实际备份之前检查目标文件的某些属性。
您可以通过BACKUP DATABASE ...
在 SQL Server 代理作业中使用T-SQL 运行备份而不是使用充满问题的维护计划 GUI来防止这种情况发生。