XP_CMDShell 未在 SQL 服务器的 Windows 中检索环境变量

XP_CMDShell is not retrieving environment variables in Windows in SQL Server

我在我的系统中创建了一个新的环境变量 VerName。试图通过 SQL 服务器执行批处理文件。日志文件没有显示任何内容。作为调试的一部分,我重新审视了逻辑并编写了以下命令来检查该值是否来自查询

EXEC master..xp_cmdshell '%VerName%'

显示以下错误

'%VerName%' is not recognized as an internal or external command, operable program or batch file. NULL

我是不是做错了什么?

环境变量不会一创建就显示出来。我假设您已经创建了 环境变量 并且需要立即访问它们。它不会以那种方式工作。重新启动 SQL 服务器或重新启动 SQL 服务器服务。这将得到解决。 另请注意,您编写的调试查询也将不起作用。请使用以下查询正确调试

EXEC master..xp_cmdshell 'ECHO %VerName%'