Powershell + SQL Statement
Hallo zusammen,
Ich sitze hier gerade vor einem Problem, wo ich nicht so recht weiterkomme und im Internet habe ich bisher auch noch nichts gefunden.
Ich habe einen SQL Server 2017 installiert, der unter Windows Server 2012R2 läuft.
SQL Server Management Studio v17.9.1 + PowerShell 5.0,
Auf meinem Rechner ist Windows 10 und ebenfalls PowerShell 5.0 + SQL Studio Management v17.9.1 vorhanden.
Über das Kommando,
komme ich am Server zu meinem Ergebnis. "Targetstate = 110"
Wenn ich das gleiche Kommando an meinem Windows 10 Rechner abschicke. Erhalte ich diese Fehlermeldung.
Install-Module SQLServer habe ich an meinem Windows 10 Rechner bereits durchgeführt.
Ein invoke-command -Computername HOSTNAME {invoke-sqlcmd -ServerInstance HOSTNAME -Debug -Database WHATEVER -InputFile "C:\Temp\test.sql" -Verbose 4> "C:\Temp\reply.txt"}
erzeugt mir auf dem Server die reply.txt Sicherlich könnte ich mir über einen weiteren Befehl den Inhalt der Text Datei anzeigen lassen bzw. in eine Variable schreiben lassen, aber der Fehler sollte verschwinden.
Hat jemand für die obenstehende Fehlermeldung eine Lösung oder einen Hinweis?
Da wäre ich sehr dankbar!
Gruss
Michael
Ich sitze hier gerade vor einem Problem, wo ich nicht so recht weiterkomme und im Internet habe ich bisher auch noch nichts gefunden.
Ich habe einen SQL Server 2017 installiert, der unter Windows Server 2012R2 läuft.
SQL Server Management Studio v17.9.1 + PowerShell 5.0,
Auf meinem Rechner ist Windows 10 und ebenfalls PowerShell 5.0 + SQL Studio Management v17.9.1 vorhanden.
Über das Kommando,
invoke-sqlcmd -ServerInstance HOSTNAME -Debug -Database WHATEVER -InputFile "C:\Temp\test.sql" -Verbose 4> "C:\Temp\reply.txt"
komme ich am Server zu meinem Ergebnis. "Targetstate = 110"
Wenn ich das gleiche Kommando an meinem Windows 10 Rechner abschicke. Erhalte ich diese Fehlermeldung.
Invoke-Sqlcmd : Die Datei oder Assembly "Microsoft.SqlServer.BatchParser, Version=15.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene
Datei nicht finden.
In Zeile:1 Zeichen:1
+ Invoke-Sqlcmd -ServerInstance HOSTNAME -Debug -Database WHATEVER -I ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Install-Module SQLServer habe ich an meinem Windows 10 Rechner bereits durchgeführt.
Ein invoke-command -Computername HOSTNAME {invoke-sqlcmd -ServerInstance HOSTNAME -Debug -Database WHATEVER -InputFile "C:\Temp\test.sql" -Verbose 4> "C:\Temp\reply.txt"}
erzeugt mir auf dem Server die reply.txt Sicherlich könnte ich mir über einen weiteren Befehl den Inhalt der Text Datei anzeigen lassen bzw. in eine Variable schreiben lassen, aber der Fehler sollte verschwinden.
Hat jemand für die obenstehende Fehlermeldung eine Lösung oder einen Hinweis?
Da wäre ich sehr dankbar!
Gruss
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 454418
Url: https://administrator.de/contentid/454418
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
5 Kommentare
Neuester Kommentar
Hört sich nach einer Powershell-Session mit anderer Bitness oder Komponenten in 32 start 64bit an
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4d682289-9e06-4 ...
Checke also die verwendete Konsolenbitness und das die Komponenten die gleiche Bitness wie der SQL Server haben.
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4d682289-9e06-4 ...
Checke also die verwendete Konsolenbitness und das die Komponenten die gleiche Bitness wie der SQL Server haben.
PS C:\WINDOWS\system32> [Environment]::Is64BitProcess
False
Hier hast du dein Problem, du hast die 32Bit Variante der Powershell-Konsole am Client als auch am Server gestartet! Starte die native Powershell, die ist dann auch in 64 Bit dann klappt das auch!!!False
Du meinst -AllowClobber.
man muss die Module für beide x86 / x64 PowerShell Varianten installieren.
Nö, nur die entsprechende Powershell starten für die man die Tools auch installiert hat .
man muss die Module für beide x86 / x64 PowerShell Varianten installieren.