博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL Server 灾难恢复31天之第4天:备份

Posted on 2013-01-10 22:19  nzperfect  阅读(850)  评论(0编辑  收藏  举报

说明:灾难恢复系列的文章是由 Robert Davis 写的,发布在SQLSoldier 个人认为挺不错的,所以根据自己的理解,边测试边整理,并非直接翻译,如有不准确,欢迎指正。

本篇进入数据库灾难恢复第四篇,主要讨论备份的重要以及一些容易被忽视而没有备份。

系统数据库
大多数人都知道要备份用户数据库,其实系统数据也需要备份,他们是master,model,msdb,distribution,以及resource数据库,它的备份采用copy数据文件(mssqlsystemresource.mdf and mssqlsystemresource.ldf)的方式,copy到你的放备份的目录。 

证书和非对称密钥
如果你为非对称密钥、授权、安全对象创建了证书,那么你需要考虑可能会再次使用它。倒如,如果你需要将一个加密数据库移到一台新的服务器,可能需要进行解密或重新加密,你将需要之前的证书。备份的方法是采用BACKUP CERTIFICAFE命令将其导出到一个文件,如果是密钥,可以使用BACKUP MASERKEY命令。再者,备份的文件一定要从服务器删除掉,将它们转移到一个安全的地方。

SSRS密钥
如果你丢失了SSRS实例,现在需要连接到一个新的存在的数据库,你需要导入之前的密钥以便读取敏感数据,如果密钥无效,你虽然也可以创建一个新的密钥,但是这样会清除所有存在的敏感数据。曾经有这样的一个客户,他们报表服务器有超600个订阅,他们丢失了订阅相关的用户信息,最后不得不查到这些用户信息再手工修复订阅,而且他们还丢失了数据源连接密码,相比较修复订阅来说还好点。

所以请确保导出密钥到一个文件,不要存在源服务器,而是要存在其它安全地方,比如源代源服务器。 

SSAS数据库
使用XMLA备份SSAS数据库,可以创建一个SQL job定期连接到SSAS去执行XMLA代码。
示例:

<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <Object>
        <DatabaseID>Adventure Works DW 2012</DatabaseID>
    </Object>
    <File>c:\bak\Adventure Works DW 2012.abf</File>
</Backup>
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
    <File>c:\bak\Adventure Works DW 2012.abf</File>
    <DatabaseName>Adventure Works DW 2012</DatabaseName>
    <AllowOverwrite>true</AllowOverwrite>
    <Security>IgnoreSecurity</Security>
    <DbStorageLocation xmlns="http://schemas.microsoft.com/analysisservices/2008/engine/100/100">C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\DATA\</DbStorageLocation>
</Restore>

 

总结:
本篇主要在说要除还备份用户数据库之外,还要备份系统数据库、证书、master密钥、SSRS的密钥、SSAS数据库,这些都是一些数据丢失的潜在问题,所以一样要备份,比较常见的就是断电易造成的问题,此时如果有这些备份,将会使恢复变得容易。

SQL Server 灾难恢复31天之第5天:处理损坏的非聚集索引