如何通过T-SQL查看SQL Server 2014链接服务器的'remote proc transaction promotion'属性
如何读取链接服务器的'remote proc transaction promotion'属性值
嗨,很高兴能帮到你!在SQL Server 2014中,你可以通过查询系统视图直接获取这个属性的当前值,下面是两种简单好用的方法:
方法1:使用sys.server_options视图(推荐)
这个视图专门存储链接服务器的各类配置选项,查询逻辑最直观易懂:
SELECT name AS [选项名称], value AS [当前值] FROM sys.server_options WHERE server_id = (SELECT server_id FROM sys.servers WHERE name = 'LinkedServer') AND name = 'remote proc transaction promotion';
只需要把代码里的LinkedServer替换成你的实际链接服务器名称,执行后就能直接返回该属性的当前值(TRUE或FALSE)。
方法2:通过sys.servers的options列计算
如果你更习惯用sys.servers视图,也可以通过位运算判断该属性的状态:
SELECT name AS [链接服务器名称], CASE WHEN options & 4096 = 4096 THEN 'TRUE' ELSE 'FALSE' END AS [remote proc transaction promotion状态] FROM sys.servers WHERE name = 'LinkedServer';
这里的4096是remote proc transaction promotion选项对应的位掩码,当该位被设置时,说明属性值为TRUE,否则为FALSE。
另外补充一句,你之前用EXEC sp_serveroption 'LinkedServer', 'remote proc transaction promotion', 'FALSE'设置选项的方法是完全正确的,现在用上面的查询就能直接验证设置是否生效啦。
内容的提问来源于stack exchange,提问作者Romano
相关产品推荐
相关产品推荐

