Fix: Per risolvere, utilizzare il latest SSMS Preview che installa la più aggiornata versione DacFx. Questo capisce come elaborare le funzionalità più recenti, in particolare le opzioni di configurazione di Database Scoped. Una volta installato, puoi importare all'interno di SSMS o usare SqlPackage dal percorso "C: \ Programmi (x86) \ Microsoft SQL Server \ 130 \ DAC \ bin" se preferisci gli strumenti da riga di comando.
In alternativa, eseguire il comando seguente nel database di Azure per impostare il valore di MaxDop sul valore predefinito poiché sembra che il problema sia stato modificato in 1. Le esportazioni future dovrebbero ora produrre bacpac comprensibili dagli strumenti client 2014 , supponendo che nessun'altra nuova funzionalità di Azure sia stata aggiunta al DB.
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0
Causa principale/perché questo accade: La causa principale è che il database ha valori non predefiniti per 1 o più database Scoped opzioni di configurazione. Poiché questi sono stati aggiunti solo molto recentemente, le versioni precedenti degli strumenti non capiscono come distribuirle e quindi i blocchi DacFx. Queste sono le sole proprietà/oggetti con una versione di schema così alta. Fondamentalmente ogni volta che vedi un errore del tipo "non supporta la versione del file di schema '3.3'" significa che devi aggiornare. Una causa possibile è se il database è stato migrato da AzureV1 -> AzureV12, che imposta l'opzione MAXDOP a 1 dal suo default, 0.
Note: Si raccomanda vivamente di utilizzare i più recenti SSMS e tenerlo fino a data tramite le notifiche di aggiornamento integrate se stai lavorando con Azure. ti assicurerà di evitare di incorrere in problemi come questo. In genere, se si utilizza solo l'area di superficie di SQL Server 2014, è possibile utilizzare strumenti precedenti durante la reimportazione, ma con l'enorme numero di miglioramenti recenti nei casi di SQL SQL di Azure, come in questo caso, verranno visualizzati sempre più spesso i nuovi strumenti sono necessari per eseguire come previsto.
Per riferimento, sono incluse le opzioni di configurazione del database con i relativi valori predefiniti di seguito. Se una di queste proprietà è non predefinita sul DB quando si esporta la versione dello schema viene eseguito il bump in modo che i vecchi strumenti non si interrompano.
<!-- Database Scoped Configurations-->
<Property Name="MaxDop" Type="System.Int32" DefaultValue="0" />
<Property Name="MaxDopForSecondary" Type="System.Int32?" DefaultValue="null"/>
<Property Name="LegacyCardinalityEstimation" Type="System.Boolean" DefaultValue="false" />
<Property Name="LegacyCardinalityEstimationForSecondary" Type="System.Boolean?" DefaultValue="null" />
<Property Name="ParameterSniffing" Type="System.Boolean" DefaultValue="true" />
<Property Name="ParameterSniffingForSecondary" Type="System.Boolean?" DefaultValue="null" />
<Property Name="QueryOptimizerHotfixes" Type="System.Boolean" DefaultValue="false" />
<Property Name="QueryOptimizerHotfixesForSecondary" Type="System.Boolean?" DefaultValue="null" />
fonte
2016-04-21 01:03:26
Siamo spiacenti, ho po 'di confusione. Ho ragione che intendi che sei riuscito ad importare BACPAC un giorno e non è stato possibile importare BACPAC con la stessa versione di SSMS un altro giorno? Sei sicuro che non ci siano stati aggiornamenti? –
Esattamente! Sono stato in grado di importare il seguente file: MyDB-2016-4-18-21-51.bacpac e due giorni dopo MyDB-2016-4-20-10-18.bacpac mi ha dato l'errore! E non c'erano aggiornamenti. Due giorni :) – Stefano