本主题介绍如何创建和定义用于执行 SSAS 命令和查询的 SQL Server 代理作业步骤。若要运行使用 SSAS 子系统的作业步骤,用户必须是 sysadmin 固定服务器角色的成员或有权访问为使用该子系统而定义的有效代理帐户。此外,SQL Server 代理服务帐户或代理必须是 SSAS 管理员或有效的 Windows 域帐户。有关定义代理帐户的详细信息,请参阅如何创建代理 (SQL Server Management Studio)。
创建 Analysis Services 命令作业步骤
在对象资源管理器中,连接到 SQL Server 数据库引擎 实例,再展开该实例。
展开**“SQL Server 代理”,创建一个新作业或右键单击一个现有作业,再单击“属性”**。
有关创建作业的详细信息,请参阅创建作业。
在**“作业属性”对话框中,单击“步骤”页面,再单击“新建”**。
在**“新建作业步骤”对话框中,键入作业“步骤名称”**。
在**“类型”列表中,单击“SQL Server Analysis Services 命令”**。
在**“运行身份”列表中,选择为使用 SSAS 命令子系统而定义的代理。如果用户是 sysadmin 固定服务器角色的成员,还可以选择“SQL Agent 服务帐户”**运行此作业步骤。
选择用于运行作业步骤的**“服务器”**或键入服务器名称。
在**“命令”框中,键入要执行的语句,或者单击“打开”**选择一个语句。
对于 SSAS Execute 方法,该语句必须为 XML。而对于 Analysis SSAS Discover 方法,该语句可以不包含完整 SOAP 信封和 XML。尽管 SQL Server Management Studio 支持完整的简单对象访问协议 (SOAP) 信封和 Discover 方法,但 SQL Server 代理作业步骤不支持它们。有关 SSAS 的 XML 的详细信息,请参阅 XML for Analysis Overview (XMLA)。
单击**“高级”**页可定义此作业步骤的选项,例如在作业步骤成功或失败时 SQL Server 代理所应采取的操作、作业步骤的尝试次数,以及用于写入作业步骤输出的位置。只有 sysadmin 固定服务器角色的成员才可以将作业步骤输出写入到文件中。
创建 Analysis Services 查询作业步骤
在对象资源管理器中,连接到 SQL Server 数据库引擎 实例,再展开该实例。
展开**“SQL Server 代理”,创建一个新作业或右键单击一个现有作业,再单击“属性”**。
有关创建作业的详细信息,请参阅创建作业。
在**“作业属性”对话框中,单击“步骤”页,再单击“新建”**。
在**“新建作业步骤”对话框中,键入作业的“步骤名称”**。
在**“类型”列表中,单击“SQL Server Analysis Services 查询”**。
在**“运行身份”列表中,选择为使用 SSAS 查询子系统而定义的代理。如果用户是 sysadmin 固定服务器角色的成员,还可以选择“SQL Agent 服务帐户”**运行此作业步骤。
选择用于运行作业步骤的**“服务器”和“数据库”**,或者键入服务器或数据库的名称。
在**“命令”框中,键入要执行的语句,或者单击“打开”**选择一个语句。
该语句必须是一个多维表达式 (MDX) 查询。有关 MDX 的详细信息,请参阅 MDX 查询基础知识 (MDX)。
单击**“高级”**页可定义此作业步骤的选项,例如在作业步骤成功或失败时 SQL Server 代理所应采取的操作、作业步骤的尝试次数,以及用于写入作业步骤输出的位置。只有 sysadmin 固定服务器角色的成员才可以将作业步骤输出写入到文件中。
安全性
只有 sysadmin 固定服务器角色的成员才可以将作业步骤输出写入到文件中。如果运行作业步骤的用户是 msdb 数据库中 SQLAgentUserRole 数据库角色的成员,则输出只能写入表中。SQL Server 代理会将作业步骤输出写入 msdb 数据库的 sysjobstepslog 表中。