[英]Invoke-Sqlcmd not working in SQL
我在SQL Powershell中使用以下命令来生成由SQL返回的数据的csv。
Invoke-Sqlcmd -Query "myp" -ServerInstance "." | Export-Csv -Path "d:\data\MyDatabaseSizes.csv" -NoTypeInformation
上面的命令在SQL Power Shell中可以正常工作。 但是当我尝试使用以下代码从SQL运行时
DECLARE @cmd varchar(1000)
SET @cmd = 'Invoke-Sqlcmd -Query "myp" -ServerInstance "." | Export-Csv -Path "d:\data\MyDatabaseSizes.csv" -NoTypeInformation'
EXEC xp_cmdshell @cmd
它给出了错误
无法将“ Invoke-Sqlcmd”识别为内部或外部命令,
任何人都可以帮助我从SQL运行命令。
谢谢
xp_cmdmshell
执行Windows Shell命令,而不执行PowerShell命令。 您当然可以在Windows Shell中调用PowerShell,例如:
DECLARE @cmd varchar(1000)
SET @cmd = 'Invoke-Sqlcmd -Query ''myp'' -ServerInstance ''.'' ^| Export-Csv -Path ''d:\data\MyDatabaseSizes.csv'' -NoTypeInformation'
EXEC xp_cmdshell 'powershell.exe -c "' + @cmd + '"'
注意:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.