SQL Server 2005中如何使用分析服务执行DDL任务
2008-09-19 10:03:55 来源:WEB开发网步骤一:
添加一个连接管理(Connection Manager)到SSAS服务器中。右键点击连接管理(Connection Managers)页面,从下拉菜单中选择新的分析服务连接(New Analysis Services Connection)。在对话框中接受默认值以连接到本地SSAS服务器(如果你想连接到其他机器上的SSAS服务器上,你可以酌情编辑)。
步骤二:
添加一个字符串变量到程序包(package)中。我们可以看到这个变量包含XMLA脚本来执行备份。右键单击控制流(Control Flow),在下拉菜单中选择变量,接着输入变量如下:
步骤三:
把脚本任务从工具栏拖放到SSIS程序包的控制流(Control Flow)。编辑脚本任务,并将步骤二中创建的程序包变量添加到ReadWriteVariables属性中。在下一个步骤中将XMLA脚本分配到这个变量中。
步骤四:
点击脚本编辑器(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>" + _
" <DatabaseID>Adventure 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。
更多精彩
赞助商链接