You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中使用OPENROWSET执行xp_readerrorlog报错求助

修复OPENROWSET调用xp_readerrorlog的元数据错误问题

问题原因

SQL Server无法自动推断扩展存储过程(如master.sys.xp_readerrorlog)的返回元数据,导致使用OPENROWSET调用时触发Msg 11519错误,该问题与Ad-Hoc Distributed Queries配置无关。

解决方案一:使用临时表接收结果

通过临时表明确元数据结构,再查询数据:

-- 创建匹配xp_readerrorlog返回结构的临时表
CREATE TABLE #ErrorLog (
    LogDate DATETIME,
    ProcessInfo NVARCHAR(50),
    Text NVARCHAR(MAX)
)

-- 将xp_readerrorlog结果插入临时表
INSERT INTO #ErrorLog
EXEC master.sys.xp_readerrorlog

-- 查询所需数据
SELECT * FROM #ErrorLog

-- 清理临时表
DROP TABLE #ErrorLog

解决方案二:显式定义结果集结构(WITH RESULT SETS)

在EXEC语句中通过WITH RESULT SETS指定返回结构,让OPENROWSET能识别元数据:

SELECT *
FROM OPENROWSET('SQLNCLI',
                'Server=.;Trusted_Connection=Yes;',
                'SET FMTONLY OFF;EXEC master.sys.xp_readerrorlog WITH RESULT SETS (
                    (
                        LogDate DATETIME,
                        ProcessInfo NVARCHAR(50),
                        Text NVARCHAR(MAX)
                    )
                )')

内容的提问来源于stack exchange,提问作者Nani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:20:26