sql-server - 通过链接服务器访问 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 OUT
为true
- 这对我来说不是一个选项。
所以我的问题是:在 SQL Server 中,如何访问链接服务器的全局变量,提供数据库上下文?
解决方案
select *
from openquery(FOOBAR, 'exec(''use tempdb;select @@DBTS as dbts;'')')
推荐阅读
- c# - LDAP 服务器不可用异常
- vba - 在 Worksheet_PivotTableUpdate 中获取工作表时出错
- sql-server - 仅使用 nvarchar(100) 与 nvarchar(255) 的 10 个字符的存储命中率是多少?
- html - 移动视图屏幕右侧的间隙
- symfony - 在 symfony 4 的 Security 方法中添加一些东西
- amazon-web-services - Terraform 为实例 EBS 块存储应用巨大的索引值
- java - Response.header 是否覆盖 @Produces 注释?
- java - Jenkins - 在不同的机器上使用本地环境变量执行脚本
- ios - 如何访问不同目标的类实例?
- c - 如何更改结构数组中的变量而不更改其他变量