SQL Server 2005 分析服务的备份策略


 摘要
这个白皮书简要的讨论了几个关于执行分析服务的备份命令的问题。从中,你将了解如何选择正确的备份策略、了解备份命令的多种选项、并能看到一个如何自动进行分析服务备份的例子。

概论
在分析服务体系中,备份和恢复是一个整体。在Microsoft® SQL Server™ 2005 分析服务中,备份操作被完全重新设计了。

下图显示了分析服务与备份、数据文件之间的交互关系:



备份和恢复是由XML for Analysis 命令来实现的,而不再使用XML for Analysis Services实现。
在收到一个备份命令后,分析服务决定哪些数据文件需要被打包到备份文件中。此时,它需要检查数据库在执行备份和恢复操作时是否一致;并且要确认备份文件中的所有内容出自相同的数据库版本。
备份和恢复时的粒度也是非常重要的。我们将整个分析服务数据库备份到一个文件里,并且也从这一个文件进行整个数据库的恢复。

备份界面
首选且最容易了解备份特性的途径就是使用SQL Server Management Studio提供的备份界面。

使用备份界面:
1.        打开SQL Server Management Studio。
2.        连接分析服务器。
3.        右键点击数据库,并选择 备份。
你将看到如图2的数据库备份对话框。在这个对话框中,提供了很多您可以进行配置的选项。



4.        输入备份文件的路径和名字。
5.        如果您想加密您的备份文件,请选择加密备份文件并设置密码。
您可以得到备份命令的脚本。单击对话框顶部的脚本来获得如下的脚本:
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Object>
    <DatabaseID>FoodMart 2000</DatabaseID>
  </Object>
  <File>FoodMart 2000.abf</File>
</Backup>
执行这段脚本将会把您的数据库备份到FoodMart 2000.abf 文件中,它的默认路径在C:/Program Files/Microsoft SQL Server/MSSQL.1/OLAP/Backup 。

备份命令
备份命令的数据定义语言如下:
<Backup>
<object>object_ref</object>
<File>BackupFile</File>
[<AllowOverwrite>true/false</AllowOverwrite>]
[<BackupRemotePartitions>true/false</BackupRemotePartitions >]
[<Locations>
                           [<Location>
<File>BackupFile</File>
<DataSourceID>Datasource ID</DataSourceID>
                           </Location >]
              </Locations>]
[<ApplyCompression>true/false</ApplyCompression >]
[<Password>Password</Password>]
</Backup>
使用备份文件的路径(< Location>)进行描述的优点:当你使用远程分区时,可以选择是否使用一个备份命令来备份基于多个服务器的数据库。
如图3所示,如果你在从服务器上有远程分区,当向主服务器发送备份命令及准确的路径信息时,你可以确定一个备份命令备份了整个数据库。这个操作使得主服务器和从服务器创建了两个备份文件,这两个文件组成了整个的备份。



备份命令选项
你可以指定备份操作是否压缩数据文件。一般而言,这个选项并不会减少分区文件的大小,因为分区文件已经被存储为了固定的压缩格式。但对于多维数据库,你会发现空间会得到一定的缩减,尤其在使用了很多字符串的情况下更加明显。
密码选项允许你指定是否加密备份文件。分析服务不会存储你键入的密码。数据库管理员负责将密码保存在一个安全的地方。

备份策略
选择分析服务数据库的正确备份策略是非常重要的。如果使用了错误的策略,你将发现你备份的并不是最新的数据,一些数据将被遗失。

理解分析服务器对象的存储模式是非常重要的。

如果你的数据库上的所有分区和维度都使用联机分析处理(OLAP)存储模式,而不是ROLAP(关系OLAP)和HOLAP(混合OLAP),你导入分析服务数据库的数据将仅在对数据进行处理的时候改变。因此,备份仅在您选择了备份操作后才进行响应。

如果你的分析服务数据库对象使用的是ROLAP或者HOLAP存储模式,你应该认识到分析服务并不真正的持有这些数据。最近的更新和最新的数据是被分析服务动态的读入的。

此时,对你来说最需要备份的内容不再是分析服务所持有的数据,而是对象的定义。

如果你的数据库是完全的ROLAP模式,你也可以使用备份命令“Backup”将数据库备份到一个很小的文件中。

如果你使用HOLAP模式或者其它主动进行缓存的解决方案,你最好使用Analysis Management Objects (AMO)所提供的接口来创建数据库。你备份的数据就是数据库每次联机后重建的缓存中的内容。

这使得,在你已经拥有了一个关系型数据库的备份时,能完全确定一旦你恢复了数据仓库的关系,就能重生你的分析服务数据库。

此时,为保证备份空间和需要进行备份的时间,你可以使用Create语句来备份你的数据库。

请注意,使用这种模式你需要从重建(recreate)的地方开始重新运行你的分析服务数据库。在选用这种策略前,要运行“恢复”的步骤来进行测试,以便确认你可以返回到常用模式。

回写
如果你使用了分析服务的回写属性,别忘记备份相关的回写表。

查询日志
如果你使用查询日志来收集数据库的统计信息,你可以使用Usage-Based analysis 来优化查询性能,你也同样应该备份查询日志表。

需要注意的是,查询日志表保存的是服务器上所有数据库的信息。恢复查询日志表将重建所有数据库的统计信息。

你可以使用查询日志表的Database column来判断哪些信息是与你的数据库相关的,从而只备份与你的数据库有关的信息。

备份的安全性
备份操作只能由分析服务管理员或者数据库管理员执行。

备份性能因素
在备份时,分析服务将进行如下两步操作:
1.        确定哪些文件将被写入备份文件。
2.        创建备份文件。
第一步操作非常快,你将不会看到此步的执行进度条。
第二步是一个I/O-intensive 操作。
进行完这两步,分析服务就开始把数据文件导入到备份文件中。
将备份文件放到一个单独的驱动器上有利于提高备份操作的性能。这样做可以避免读操作和写操作之间产生冲突。
运行备份操作时,它启用一个读锁,此时可以进行其它处理操作,但是这些操作在备份操作结束前不能提交。

原始备份
在一定的情况下,为确保数据的灾难恢复,你可以将整个数据目录备份下来。
SQL Server 2000分析服务的许多用户使用这种方法来备份他们的系统。
在SQL Server 2005分析服务中,不推荐使用这种方法,除非你绝对确定你已经进行了配置的完整分析和处理了所有的系统警告。
这里给出一些可能出现的问题:
•        备份的整个数据目录包含了所有分析服务数据,而不是一个数据库的数据。
•        当在分区上使用StorageLocation属性的时候,你需要跟踪文件系统中包含的所有不同位置的分区。
•        如果你使用了远程分区,并想在机器上使用另外一个名字来恢复数据目录,你需要确定调整了所有指定了路径的数据源的位置。

使用SQL Server Agent 作业实现自动备份
这里提供一些自动进行分析服务备份的方法。
让我们来看SQL Server Agent 作业提供的自动备份方法。
使用SQL Server Agent jobs管理备份:
1.        在SQL Server Management Studio 中,右键单击SQL Server Agent下的Jobs节点,选择创建新作业。
之后你会看到如图4的对话框。


2.        在 Name 文本框中为作业命名。
3.        在左侧窗格中,选择Steps 节点,并点击New 来创建作业新的步骤。你将看到如图5的对话框。
4.        为Step命名,并为其选择类型:SQL Server Analysis Services Command。
5.        在服务器栏中,提供你想执行这个命令的分析服务器的名字。然后剪切、粘贴你即将在命令窗口中执行的备份命令。



6.        在New Job Step 对话框(图5)中单击OK,在New Job对话框(图4)中也单击OK。
7.        返回SQL Management Studio,你将看到你新创建的这个作业节点。
8.        右键点击这个新节点并开始作业。
此时,你将看到一个进度条对话框。最终,你将看到备份被成功创建。
然后,你就可以使用SQL Server Agent提供的进行作业管理的全部功能了。
例如,你可以再添加一个步骤来将数据库文件复制到一个安全的位置,等等。SQL Server Agent也提供很多其它很好的功能,例如查看作业执行的历史记录。

在学习完备份命令的全部操作、选择正确的备份策略、确认你的自动备份脚本可用以后,你将更加坚定自己能成功进行灾难恢复的信心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值