我有 SQL Server分析服务( SSAS )多维数据集(使用 BIDS 2012 开发),我想提供机会用户(通过 PowerPivot 使用多维数据集)在本地计算机上处理多维数据集。
我找到了一些关于如何通过Powershell或SQL Agent或SSIS在服务器上创建预定作业的材料,但没有关于远程处理多维数据集的材料。有什么建议?
答案 0 :(得分:4)
触发立方体处理有多种可能性。低级方法是向包含多维数据集的数据库发出XMLA语句。要查看其外观,请打开SQL Server Management Studio,连接到AS实例,右键单击AS数据库,然后选择“Process”。配置处理设置,但不是点击OK,而是从顶部工具栏中选择“脚本”以生成XMLA进程命令。将对话框保留为取消。 处理多维数据集的所有方法都以某种方式结束,或者将这样的命令发送到AS数据库。
有几个选项可以触发多维数据集处理:
然而,问题是最终用户如何访问上述设置。这里的一个重要问题当然是执行流程任务的用户需要具有处理多维数据集的权限。由于您可能不希望直接提供此权限,因此在调用它时可能会使用某些模拟。使用Management Studio - 据我所知使用PowerShell - 这是不容易实现的。
集成服务和代理作业提供了模拟的可能性。集成服务包由dtexec命令行工具(SQL Server客户端工具的一部分)执行,还有一个名为dtexecui的工具(在标准SQL Server客户端工具安装中可用作“Execute Package Utility”),它允许您使用一个对话框,用于配置所有设置,然后执行包,但它也可以根据您的设置显示dtexec的命令行。
要调用SQL Server代理作业,一个简单的接口是存储过程(http://msdn.microsoft.com/en-us/library/ms187763.aspx),尤其是sp_start_job
(注意这是异步的,你调用它,它启动作业并返回。它不会在返回之前等待作业完成。)和sp_help_jobactivity
要求作业状态以及sp_help_jobhistory
以获取正在运行的作业的详细信息。
总而言之,我认为没有最终解决方案可用,但我提到了一些构建块,您可以根据环境中的偏好来编写自己的解决方案。