在 select 下使用 xp_cmdshell 进行 SQL 查询
Posted
技术标签:
【中文标题】在 select 下使用 xp_cmdshell 进行 SQL 查询【英文标题】:SQL query using xp_cmdshell under select 【发布时间】:2019-04-26 17:32:50 【问题描述】:你知道如何在具有 dbo 权限的 sql 查询下运行 windows 命令我无法直接使用 exec 是否可以将 select 作为联合的第二个命令?
我想运行基本的windows命令,比如ipconfig,net user比如..
提前致谢
【问题讨论】:
您不能从 SELECT 语句中执行任何类型的过程。您可以使用在表格中插入结果并从中选择。 可以先插入再选择吗? 【参考方案1】:这里是一个例子,如何将cmd shell的执行结果插入到一个Table中,然后你可以进行选择
declare @cmd as nvarchar(max)
--replace "dir c:\" by your cmd shell
set @cmd='exec master..xp_cmdshell "dir c:\"'
declare @mytab as table(id int identity(1,1),res nvarchar(200))
insert into @mytab exec(@cmd)
select * from @mytab
【讨论】:
谢谢,我真的想让它变得有点棘手,假设我已经在“cmd”了,如何从 windows 命令中创建这个并写入 sql server table dir c:\ 是否可能? 使用 sqlcmd docs.microsoft.com/en-us/sql/ssms/scripting/…以上是关于在 select 下使用 xp_cmdshell 进行 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章