从Analysis Services获取实例名称,例如@@ ServerName

时间:2014-10-09 21:09:43

标签: sql sql-server sql-server-2012 ssas dmv

有没有办法从Analysis Services实例获取当前的servername?基本上与SELECT @@SERVERNAME相同,但对于SSAS。

我调查了SELECT * FROM $system.DISCOVER_INSTANCES但是返回了一个错误:

' INSTANCE_NAME'限制是必需的,但请求中缺少。考虑使用SYSTEMRESTRICTSCHEMA来提供限制。

尝试使用SYSTEMRESTRICTSCHEMA时,我收到同样的错误。尝试使用INSTANCE_NAME时,我得到了同样的错误。尝试使用SYSTEMRESTRICTSCHEMA并指定INSTANCE_NAME时,我会收到相同的错误。

感谢任何帮助或见解!

2 个答案:

答案 0 :(得分:0)

您正面临错误,因为未向函数提供必要的参数。请参阅herehere,了解如何将参数传递给这些函数。

答案 1 :(得分:0)

这将为您提供服务器名称:

select [Value] as ServerName from $SYSTEM.DISCOVER_PROPERTIES where [PropertyName] = 'ServerName';

您不需要$ system.DISCOVER_INSTANCES,但是其语法为:

select * from SYSTEMRESTRICTSCHEMA($SYSTEM.DISCOVER_INSTANCES, INSTANCE_NAME='MSSQLSERVER');