SQL Server 2005中如何使用分析服务执行DDL任务

阳光的石头记63

阳光的石头记63

2016-02-19 19:18

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享SQL Server 2005中如何使用分析服务执行DDL任务的教程,热爱PS的朋友们快点看过来吧!

  问题:

  我们期待在我们的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来进行一个可重复的过程。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  在这种方法中,我们在一个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),在下拉菜单中选择变量,接着输入变量如下:

  步骤三:

  把脚本任务从工具栏拖放到SSIS程序包的控制流(Control Flow)。编辑脚本任务,并将步骤二中创建的程序包变量添加到ReadWriteVariables属性中。在下一个步骤中将XMLA脚本分配到这个变量中。

  步骤四:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  点击脚本编辑器(Script Task Editor)中的Design Script按钮并输入以下XMLA脚本(记住可以用SSMS创建脚本):

Public Sub Main()
 Dim backupfilename As String = "AdventureWorksDW_" + Now().ToString("MMddyyyy") + ".abf"
 Dim xml As String = _
   "Backup xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine""" + _
   "Object" + _
   "  DatabaseIDAdventure Works DW/DatabaseID" + _
   "/Object" + _
   "File${BACKUPFILENAME}/File" + _
   "/Backup"
 Dts.Variables("User::v_XMLA").Value = xml.Replace("${BACKUPFILENAME}", backupfilename)
 Dts.TaskResult = Dts.Results.Success
End Sub

  这只是一个例子,说明你可以怎样调整用SSMS创建的XMLA。备份的文件名可以修改,以包括当前日期。由此产生的XMLA存储在名为v_XMLA的程序包变量中。用以文本取代的${BACKUPFILENAME}的使用可以是任意的,但希望是符合常理的。


  步骤五:

  把分析服务执行DDL任务从工具栏拖放到SSIS程序包的控制流(Control Flow)中,并把它连接到脚本任务配置中。打开分析服务执行DDL任务编辑器(Analysis Services Execute DDL Task editor),点击列表框左侧中的DDL,并设置属性如下:

  该XMLA执行被定义在先前安装的程序包变量中。这时,SSIS程序包看起来如下:

  这时,你可以执行SSIS程序包并看到备份文件已经建立。默认的路径在分析服务器(Analysis Server)的BackupDir属性中说明,例如,C:Program FilesMicrosoft SQL ServerMSSQL.2OLAPBackup。

展开更多 50%)
分享

猜你喜欢

SQL Server 2005中如何使用分析服务执行DDL任务

编程语言 网络编程
SQL Server 2005中如何使用分析服务执行DDL任务

修改SQL Server 2005执行环境

编程语言 网络编程
修改SQL Server 2005执行环境

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server 2005中的DDL触发器的实现

编程语言 网络编程
SQL Server 2005中的DDL触发器的实现

SQL Server 2005中Tempdb变化分析

编程语言 网络编程
SQL Server 2005中Tempdb变化分析

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server 2005中使用DDL触发器监控数据库变化

编程语言 网络编程
SQL Server 2005中使用DDL触发器监控数据库变化

剖析SQL Server 2005中的报告服务架构

SQLServer
剖析SQL Server 2005中的报告服务架构

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

冗长的SQL Server查询将消耗你的CPU

冗长的SQL Server查询将消耗你的CPU

Win8版好照片评测

Win8版好照片评测
下拉加载更多内容 ↓