配置好 2012 AlwaysOn High availability Group就想体验一下在辅助数据库做备份的新功能。在辅助服务器备份,这样可以减轻主服务器的负载(非常好的一项改进,以前Databasemirroring辅助数据库是不可以访问的)。

 

但是备份的时候却报错:

 

Backup databasetesttodisk='c:\test.bak'

 

Msg 3059, Level 16, State 1, Line 2

This BACKUP or RESTORE command is not supported ona database mirror or secondary replica.

Msg 3013, Level 16, State 1, Line 2

BACKUP DATABASE is terminating abnormally.

 

查了一下微软的网站才发现在辅助服务器备份有限制和局限性的:

 

· 辅助副本只完全支持 BACKUP LOGBACKUP DATABASE仅支持数据库、文件或文件组的仅复制完整备份。辅助副本不支持差异备份。

注意

仅复制备份不影响日志链。同样,仅复制备份也不清除差异位图。

· 若要备份辅助数据库,辅助副本必须能够与主副本进行通信,并且状态必须为 SYNCHRONIZED SYNCHRONIZING

· 配置可用性组以支持辅助副本备份只会为要执行备份的位置创建备份首选项。

 

将脚本修改为Copy_Only选项备份成功:

 

backup databasetesttodisk='c:\test.bak' withcopy_only

 

Processed 328 pages for database 'test', file'test' on file 1.

Processed 1 pages for database 'test', file'test_log' on file 1.

BACKUP DATABASE successfully processed 329 pages in0.140 seconds (18.327 MB/sec).

 

备份日志不需要Copy_Only选项:

 

Backup log test to disk='c:\test.trn'

 

参考:http://msdn.microsoft.com/zh-cn/library/hh710053.aspx