2016-05-20 19 views
1

Wir verwenden PowerShell-Skripts zum Bereitstellen der SQL-Datenbank. Diese Skripte verwenden das Dienstprogramm SqlPackage.exe, um unsere Hauptdatenbank zu veröffentlichen. Es funktionierte gut, bis wir SSDT auf die neueste Version SSDT 2015 aktualisierten, als es hieß, den Fehler unten zu werfen.Fehler beim SqlPackage.exe-Befehl nach dem Upgrade

Powershell-Skript-Line:

& "C:\Program Files (x86)\Microsoft SQL Server\120\DAC\bin\SqlPackage.exe" /Action:Publish /SourceFile:"$DatabaseDacpacLocation" /TargetServerName:$DataServerSqlInstance /TargetDatabaseName:$Database /Variables:master="$MasterDatabase" /v:DatabaseName="$pDatabaseName" /p:ExcludeObjectType=Sequences 

Fehler:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Microsoft.SqlServer.Dac.DacPackage' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Microsoft.SqlServer.Dac.DacServices' threw an exception. ---> System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.TransactSql.ScriptDom, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.

Antwort

4

Es ist wie die Implementierungsumgebung sieht fehlt SqlDom Version 12 (Microsoft.SqlServer.TransactSql.ScriptDom.dll) , die voraussichtlich in der GAC sein wird. Sie können es von der SQL Server 2014 Feature Pack-Seite hier herunterladen: https://www.microsoft.com/en-us/download/details.aspx?id=42295

Es gibt zwei Dateien, die Sie herunterladen und installieren sollten - die x64 und x86-Versionen von SqlDom.msi.

Es scheint, dass Sie derzeit die SQL Server 2014-Version des Data-Tier-Anwendungsframeworks verwenden. Beachten Sie, dass Sie sicherstellen müssen, dass die neuere Version (v13) der DacFX-Abhängigkeiten (SqlSysClrTypes.msi und SqlDom.msi) ebenfalls installiert wird, wenn Sie auf die SQL Server 2016-Version des Data-Tier-Anwendungsframeworks (DacFX) aktualisieren .