Problem
Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser
Invoke-Sqlcmd : Could not load file or assembly ‚Microsoft.SqlServer.BatchParser, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91′ or one of its dependencies. The system cannot find the file specified.
At line:1 char:1
+ Invoke-Sqlcmd
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Invoke-Sqlcmd : Die Datei oder Assembly Microsoft.SqlServer.BatchParser oder eine Abhängigkeit davon wurde nicht gefunden
Invoke-Sqlcmd : Die Datei oder Assembly „Microsoft.SqlServer.BatchParser, Version=11.0.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
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Details
Wenn versucht wird das PowerShell Kommando „Invoke-Sqlcmd“ (hier auf dem Microsoft Windows Server 2012) auszuführen, dann wird folgende Fehlermeldung (je nach OS-Sprache) in de PowerShell Konsole ausgegeben.
Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser
Invoke-Sqlcmd : Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
At line:1 char:1
+ Invoke-Sqlcmd
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Invoke-Sqlcmd : Die Datei oder Assembly Microsoft.SqlServer.BatchParser
Invoke-Sqlcmd : Die Datei oder Assembly "Microsoft.SqlServer.BatchParser, Version=11.0.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
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Fix
Microsoft SQL Server 2012 Feature Pack – Komponenten Installation
Es müssen drei Microsoft SQL Server 2012 Feature Pack Komponenten in folgender Reihenfolge installiert werden. (Eventuell sind Neustarts nötig, das wird aber vom Installer mitgeteilt.)
Die Download-Seite aufrufen:
https://www.microsoft.com/en-us/download/details.aspx?id=29065
Auf „Install Instructions“ klicken (nicht „Download-Button)“.
Microsoft® System CLR Types for Microsoft® SQL Server® 2012
Im Abschnitt „MICROSOFT SQL SERVER 2012 ENGINE FEATURE PACK COMPONENTS“ nach „Microsoft® System CLR Types for Microsoft® SQL Server® 2012“ suchen.
Die passende Version (32bit/64bit), hier „X64 Package (SQLSysClrTypes.msi)“ runterladen und installieren.
Microsoft® SQL Server® 2012 Shared Management Objects
Im Abschnitt „MICROSOFT SQL SERVER 2012 MANAGABILITY FEATURE PACK COMPONENTS“ nach „Microsoft® SQL Server® 2012 Shared Management Objects“ suchen.
Die passende Version (32bit/64bit), hier „X64 Package (SharedManagementObjects.msi)“ runterladen und installieren.
Microsoft® Windows PowerShell Extensions for Microsoft® SQL Server® 2012
Im Abschnitt „MICROSOFT SQL SERVER 2012 MANAGABILITY FEATURE PACK COMPONENTS“ nach „Microsoft® Windows PowerShell Extensions for Microsoft® SQL Server® 2012“ suchen.
Die passende Version (32bit/64bit), hier „X64 Package (PowerShellTools.msi)“ runterladen und installieren.
Nun sollte beim Aufruf des PowerShell CMD-Lets keine Fehlermeldung mehr kommen.
Links
- stackoverflow.com: Powershell Invoke-SQLCmd and SQLPS
- www.microsoft.com: Microsoft SQL Server 2012 Feature Pack
- Download: System CLR Types – X64 Package (SQLSysClrTypes.msi)
- Download: Shared Management Objects – X64 Package (SharedManagementObjects.msi)
- Download: Windows PowerShell Extensions for Microsoft® SQL Server® 2012 – X64 Package (PowerShellTools.msi)