4

有没有办法从 Analysis Services 实例中获取当前服务器名?基本上与SELECT @@SERVERNAMESSAS 相同。

我调查过 SELECT * FROM $system.DISCOVER_INSTANCES 但返回错误:

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

尝试使用时,SYSTEMRESTRICTSCHEMA我得到了同样的错误。尝试使用时INSTANCE_NAME出现同样的错误。当尝试使用SYSTEMRESTRICTSCHEMA和指定时,INSTANCE_NAME我得到了同样的错误。

任何帮助或见解表示赞赏!

4

2 回答 2

1

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

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

您不需要 $system.DISCOVER_INSTANCES,但它的语法是:

select * from SYSTEMRESTRICTSCHEMA($SYSTEM.DISCOVER_INSTANCES, INSTANCE_NAME='MSSQLSERVER');
于 2019-07-29T17:23:22.250 回答
0

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

于 2014-10-15T16:31:57.647 回答