我们正在主体数据库上进行日志备份,而我的问题是在镜像上进行日志备份的陷阱是什么?
您无法在镜像数据库上进行日志备份。
在进行日志备份之前,至少必须完成一次从镜像的完整数据库备份,在这种情况下,由于镜像是镜像,是否需要使用特殊选项?
您也不能在镜像数据库上进行完整的数据库备份。
以这个为例:我有Server1
一个存放主体数据库的地方AdventureWorks2012
,而我有Server2
一个包含镜像的地方。当我尝试在镜像数据库(在Server2
)上运行备份时,会发生以下情况:
use master;
go
backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go
消息954,级别14,状态1,第2行
无法打开数据库“ AdventureWorks2012”。它充当镜像数据库。
消息3013,级别16,状态1,行2
备份数据库异常终止。
backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go
消息954,级别14,状态1,第1行
无法打开数据库“ AdventureWorks2012”。它充当镜像数据库。
消息3013,级别16,状态1,行1
备份日志异常终止。
看看Robert Davis撰写的此数据库镜像常见问题解答。我将就此操作和镜像数据库事务日志维护引用他的意见:
当您在主体上备份日志时,虚拟日志文件(日志文件中的单个单元)被标记为可重写。相同的VLF在镜像日志文件中也标记为可重写。VLF状态已镜像到数据库。
所以你有它。如果您在主体上具有事务日志备份,则类似的日志重用行为将镜像到其伙伴数据库。