2012-05-23 8 views
5

Während Konvertierung Datenbankprojekt SSDT und ein Upgrade auf SQL Server 2012 muss ich Deployment-Skript für SQL Server 2008 und 2012SSDT, brauche ich andere Dacpacs, wenn ich dieselbe Datenbank für SQL Server 2008 und 2012 bereitstellen muss?

I sqlpackage.exe /Action:Publish die neuesten Datenbank Bits bereitstellen bin mit arbeiten.

In sqlproj Projekteigenschaften sehe ich eine Zielplattform Dropdown mit Optionen 2005/2008/2012 SQL-Server. Generiert es einen anderen dacpac, wenn ich diese Zielplattform ändere? Muss ich für jede SQL Server-Version zwei Versionen von dacpac mitführen?

Oder funktioniert das gleiche dacpac für jede Version von SQL Server?

Antwort

4

Die kurze Antwort ist ja - verschiedene DACPACs für verschiedene SQL Server Editionen. Bob Beuachemin schrieb eine nützliche über DAC Fx3.0 vs DAC 2.0

6

Ich weiß, dass dies 11 Monate alt ist, aber es gibt eine Option, wenn Sie zur Bereitstellung speziell für dieses Szenario kommen - AllowIncompatiblePlatform.

//Set Deployment Options 
DacDeployOptions dacOptions = new DacDeployOptions(); 
dacOptions.AllowIncompatiblePlatform = true; 

Ohne die Option Einstellung kann ich eine 2008 dac sql2012 bereitstellen, aber es wird einen Fehler, wenn ich eine 2012 dac bereitstellen, mit SQL2008:

Microsoft.Data.Tools.Schema.Sql.Deployment.DeploymentCompatibilityException: 
A project which specifies SQL Server 2012 as the target platform cannot be published to SQL Server 2008. 

Einstellung der Option bedeutet, dass ich das nicht bekommen Fehler und kann zu früheren Versionen bereitstellen (bis 2005 glaube ich). Hinweis: Sie müssen möglicherweise auch die Option TreatVerificationErrorsAsWarnings auf True - YMMV setzen.

+2

Ich konnte ein SQL2012-Dacpac zu SQL2008R2 nur mit der 'AllowIncompatiblePlatform = true; '- Option bereitstellen. –

2

Verwenden Sie in der Befehlszeile mit SqlPackage.exe die Option p:AllowIncompatiblePlatform. Eine Warnung wird weiterhin angezeigt, aber es wird fortgesetzt. Dies funktioniert von einem SQL Server 2012-Dacpac zu SQL Server 2008 R2.

Verwandte Themen