我希望有人对此有个快速的答案,因为我在网上找不到很多东西。
我正在通过Powershell远程执行sql命令。我有脚本,它可以工作,但是如果尝试“从customertable中选择客户”,它将返回正确的值。如果运行查询“ select different ....”,它将不返回任何值。
不同命令可以通过powershell运行吗?
答案 0 :(得分:0)
这只是更长的PS脚本的片段,我用它来查询不同的服务器/实例以查找所需的信息。
function SQL_GetModules {
param(
[string]$DbName
)
$query = @"
SELECT DISTINCT ISNULL BLAH BLAH BLAH
"@
try {
$result = Invoke-Sqlcmd -ServerInstance $DBServer -Database $DbName -Query $query -querytimeout ([int]::MaxValue) -MaxCharLength ([int]::MaxValue) -DisableVariables
}
catch [System.Exception] {
Write-Error $_.Exception.Message
return -1
}
if (!$result) { return 0 }
else {
$Modules = @()
foreach ($row in $result) {
$Modules += $row.SYSA_Module
}
return $Modules
}
}
如果您的查询在SQL中有效,然后将其传递给Invoke_SQLcmd,然后运行它,它是否有效? AFAIK您不需要在更高版本的SQL中使用Import-Module sqlps
,因为有新的PS SQL模块,也就是说已经安装了这些模块吗?
https://docs.microsoft.com/en-us/sql/powershell/download-sql-server-ps-module?view=sql-server-2017