Ric*_* S. 2 sql-server ssas sql-server-2014
我在服务器(X)上有一个 SQL Server 代理作业,它有一个步骤应该处理远程服务器(Y)上的数据立方体。
每当我运行该作业时,它都会失败并说 server(X) 无权处理 Cube 或它不存在。我相信我的作业设置正确,但是如何将服务器(Y)上的访问权限授予服务器(X)以处理多维数据集?下面是我正在使用的脚本。使用“SQL Server 分析服务命令”
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400">
<Object>
<DatabaseID>Analysis Services Project1</DatabaseID>
<CubeID>S2E</CubeID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>
Run Code Online (Sandbox Code Playgroud)
当我通过对象资源管理器将服务器(x)添加到服务器(Y)上的管理员角色时,我无法通过检查名称按钮找到服务器。请帮忙。
我正在使用 SQL Server 2014
有两种方法可以解决这个问题。您可以为 sql 代理服务创建一个服务帐户并在 olap 服务器上授予该帐户权限,也可以创建一个 sql 代理proxy account
。
我个人认为代理帐户是最干净的解决方案。
要创建代理帐户,请参阅此 msdn 文章:创建 SQL Server 代理代理。
例如,您可以通过这种方式创建一个DOMAIN\OlapUserOnY
仅用于在 Y 服务器 Analysis Services 上运行事物的代理作业的用户。
如果要创建服务帐户,您必须是运行代理的 SQL 服务器上的系统管理员,才能在代理作业上进行配置。
然后在代理作业上,您只需在run as
字段中选择代理帐户或服务帐户。
请参阅创建 Analysis Services 作业步骤以了解如何创建作业并指定它在其下运行的帐户。
从该链接:
在“运行方式”列表中,选择已定义为使用 Analysis Services 命令子系统的代理。作为 sysadmin 固定服务器角色成员的用户也可以选择 SQL 代理服务帐户来运行此作业步骤。