问题:
我们期待在我们的SQL Server分析服务服务器中自动执行任务。请问您能给我们讲解怎样在SSIS中使用分析服务执行DDL任务(Analysis Services Execute DDL Task)的细节吗?
专家解答:
分析服务执行DDL任务(Analysis Services Execute DDL Task)是一个很有用的工具,它可以让你用一个SQL Server分析服务实例做任何事情。例如,你可以备份一个数据库,处理一个数据分析立方体,创建一个分区。利用XML分析(XMLA)来执行指定的命令,这是用于客户应用程序与Microsoft SQL Server分析服务实例交互作用的native XML协议。你可以在网上或书里找到所有关于XMLA的细节,只要搜索XMLA就可以了。
要记住一点,那就是你可以利用SQL Server Management Studio (SSMS)创建任何你需要做的脚本。比如,你可以连接到SQL Server分析服务的服务器,右键点击一个数据库,然后从下拉菜单中选择“Back up”.你可以在备份数据库会话中点击这个脚本按钮来产生XMLA脚本去执行备份。你可以从SSIS程序包中运用分析服务执行DDL任务来运行这个XMLA脚本。创建SSIS程序包的好处在于你可以在需要时或者按照时间表通过SQL Server Agent来进行一个可重复的过程。
在这种方法中,我们在一个SSIS程序包中按照步骤来使用分析服务执行DDL任务(Analysis Services Execute DDL Task)。我们将创建一个示例程序包来执行Adventure Works DW 分析服务数据库与SQL Server 2005的备份。
创建示例SSIS程序包
首先从Microsoft SQL Server 2005程序组中启动 Business Intelligence Development Studio (BIDS),并创建一个新的一体化服务项目(Integration Services project)。一个命名为Package.dtsx 的SSIS程序包将自动产生并添加到项目(project)中。把程序包(package)重命名为SSASExecuteDDLTask_Demo.dtsx,然后在SSIS程序包中进行以下步骤:
步骤一:
添加一个连接管理(Connection Manager)到SSAS服务器中。右键点击连接管理(Connection Managers)页面,从下拉菜单中选择新的分析服务连接(New Analysis Services Connection)。在对话框中接受默认值以连接到本地SSAS服务器(如果你想连接到其他机器上的SSAS服务器上,你可以酌情编辑)。
步骤二:
添加一个字符串变量到程序包(package)中。我们可以看到这个变量包含XMLA脚本来执行备份。右键单击控制流(Control Flow),在下拉菜单中选择变量,接着输入变量如下:
步骤三: