TSQL sysdatabases查询返回'Server Name'

时间:2014-09-09 10:27:55

标签: tsql reporting-services ssms

我使用以下查询:

select name from sys.sysdatabases

并获取一个名为Server Name

的其他列

此列的来源,因为它是ssrs中的一个方便的列,但不会复制,它只适用于Management Studio

1 个答案:

答案 0 :(得分:0)

可能发生的事情

我的猜测是,您通过右键单击已注册的服务器组并选择“新查询”来打开查询窗口。

Microsoft SQL Server Management Studio(SSMS)提供feature,它将在多个服务器上运行相同的查询,然后将结果合并到单个结果网格中。为了帮助您整理哪个服务器返回了哪些数据行,默认情况下SSMS会向此网格添加Server Name列。首先将感兴趣的服务器添加到已注册的服务器列表,然后右键单击相关的注册服务器组并选择“新查询”,即可访问此功能。

如何在SSMS中实现相同的效果

根据您想要的确切数据,您可以通过T-SQL变量@@SERVERNAMESERVERNAME函数的SERVERPROPERTY属性获取执行服务器的名称(请参阅备注部分) MSDN的documentation on SERVERPROPERTY详细介绍了这两种方法之间的差异。

例如,如果您选择使用@@SERVERNAME,则可以通过独立查询(SELECT @@SERVERNAME)获取该名称。您还可以通过将Server Name添加到SSRS报告的SELECT列列表末尾(例如, 'Server Name' = @@SERVERNAME)来实现与SSMS的SELECT FirstName, LastName, 'Server Name' = @@SERVERNAME FROM ....列类似的功能。