PowerShell - Invoke-Sqlcmd - Could not load file or assembly Microsoft.SqlServer.BatchParser - Die Datei oder Assembly Microsoft.SqlServer.BatchParser oder eine Abhängigkeit davon wurde nicht gefunden - Error

Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser

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.

PowerShell - Invoke-Sqlcmd - Could not load file or assembly Microsoft.SqlServer.BatchParser - Die Datei oder Assembly Microsoft.SqlServer.BatchParser oder eine Abhängigkeit davon wurde nicht gefunden - Error

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

  1. stackoverflow.com: Powershell Invoke-SQLCmd and SQLPS
  2. www.microsoft.com: Microsoft SQL Server 2012 Feature Pack
  3. Download: System CLR Types – X64 Package (SQLSysClrTypes.msi)
  4. Download: Shared Management Objects – X64 Package (SharedManagementObjects.msi)
  5. Download: Windows PowerShell Extensions for Microsoft® SQL Server® 2012 – X64 Package (PowerShellTools.msi)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert