Sto scrivendo uno script in PowerShell ISE e sto usando Invoke-Sqlcmd. Dopo l'esecuzione del comando, la sessione di Powershell passa alla sessione sqlps (PS SQLSERVER:>) e non riesco a eseguire lo script per la seconda volta. Devo uscire da PowerShell ISE e riavviarlo.PowerShell Invoke-Sqlcmd passa alla sessione sqlps
Quindi la mia domanda è: come passare da sqlps a ps regolare o come impedire Invoke-Sqlcmd dalla sessione di commutazione.
Invoke-Sqlcmd -ServerInstance $server -Database master -Username $user -Password $password -InputFile $file `
-ErrorAction Stop -OutputSqlErrors $true -Variable $variable
Questo non funziona: il comportamento
Push-Location
Invoke-Sqlcmd -ServerInstance $server -Database master -Username $user -Password $password -InputFile $file `
-ErrorAction Stop -OutputSqlErrors $true -Variable $variable
Pop-Location
Non sto importando il modulo esplicitamente. Sto solo usando Invoke-Sqlcmd. Ho provato con push-location e non funziona: – scar80
Ora ha funzionato. La soluzione è usare lo snippet fornito da @alroc per importare il modulo sqlps. E dopo basta usare Invole-Sqlcmd senza alcuna posizione push. – scar80
Sia che lo si faccia implicitamente (importazione automatica) o esplicitamente, si sta ancora importando quel modulo, che causa questo comportamento. – alroc