0

我知道您可以使用 SSMS 中的 GUI来指定要运行的服务器。

有没有一种请求特定服务器的方法,类似于在查询脚本中说“使用 ServerA.[DBName] ”?

4

2 回答 2

1

很确定这是不可能的。(就像我们更改数据库名称所做的那样 USE [db_name]

但是,有一种技术Linked Server允许您在查询中连接到第二个服务器并使用第二个数据源上的资源。

有关详细信息,请参阅此链接http://msdn.microsoft.com/en-us/library/ms188279.aspx

例如:

select foo.id 
from db1.table1 foo, 
     Server2.db_name.scheman_name.table_name bar 
where foo.name=bar.name

另一个答案(OpenDataSource)中提到的是:

作为四部分对象名称的一部分的即席连接信息,而不使用链接服务器名称。

这几乎是一个隐含的Linked Server

于 2012-11-21T23:25:35.500 回答
0

Using OpenDataSource might be a way to set which server instance to access within the scope of a query - you may want to consult this SO question for more background/details.

Another option might be a TRY..CATCH block where the query verifies that it's being run on the correct server using SERVERPROPERTY(), and throws an exception if it isn't - this lets you put a more human-readable error message out for the user.

于 2012-11-21T23:18:41.500 回答