【发布时间】:2021-08-14 02:04:24
【问题描述】:
我们有一个 SQL Server 2014,有大约 20 多个链接(oracle)服务器。 有时,我需要检查所有这些链接服务器的 USER ID(在 Oracle 端)状态。
我目前为此使用以下 OPENQUERY 语句:
SELECT * FROM OPENQUERY (MYLINKEDORACLESERVER,'SELECT * FROM SYS.USER_USERS')
输出:
但是,由于服务器数量众多,我们正在寻找一种更自动化的方式来执行此操作。
SYS.SERVERS 输出所有链接的 oracle 服务器的列表(我添加了 OPENQUERY 语法)
SELECT 'select * from openquery ('+ name +',''SELECT * FROM USER_USERS'')' FROM sys.servers
WHERE provider='OraOLEDB.Oracle'
输出:
如何利用 EXECUTE 语句使其自动执行它输出的每个 OPENQUERY 语句?
期望的输出:
【问题讨论】:
-
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
标签: sql sql-server exec execute