首页 > 解决方案 > 通过链接服务器访问 SQL Server 全局变量 @@dbts,带有数据库上下文

问题描述

我有一个链接服务器(我们称之为FOOBAR)设置。在那个远程服务器上,我有一个数据库BAZ

我需要访问特定数据库FOOBAR的值。@@DBTS

我可以做这个:

select dbts from OPENQUERY(FOOBAR, 'select @@dbts as dbts')

但是,这会给我master(默认)数据库的 dbts。不是我想要的。

我确实发现我也可以做到这一点(尽管我没有测试过它,因为我将要达到的要求是一个阻碍):

exec [FOOBAR].[BAZ].[dbo].sp_executesql N'select @@dbts as dbts'

不幸的是,这需要我设置RPC OUTtrue- 这对我来说不是一个选项。

所以我的问题是:在 SQL Server 中,如何访问链接服务器的全局变量,提供数据库上下文?

标签: sql-servertsql

解决方案


select *
from openquery(FOOBAR, 'exec(''use tempdb;select @@DBTS as dbts;'')')

推荐阅读