Я пытаюсь передать имена серверов в сценарии SQL, но он не работает.Пожалуйста, помогите
SQL Script patch_report.sql
, я работаю через powershell, выдавая ошибку
SELECT * from table where server in ('$(trimsqlstr)')
Ошибка
Msg 102,level Level 15, State 1, Server DBserver, Line 1
Incorrect syntax near 'server1'.
$DB_server = 'DBserver'
$serverName = "server1
server2
server3
"
$serverName = $serverName -split "\n" | foreach {$_.ToString().TrimEnd()}
$trimsqlstr = foreach($server in $serverName){
if ($serverName.Indexof($server) -eq $($serverName.Length-1)){
"'$Server'"
} else {
"'$Server',"
}
SQLCMD.exe -v trimsqlstr = "$($trimsqlstr)" -E -S $DB_server -W -i patch_report.sql
Я ожидаю, что это приведет кэто
SELECT * from table where server in ('server1','server2','server3')