2016-03-17 31 views
5

Sono molto familiare con il processo di esportazione da Azure SQL V12 fino alla mia casella di sviluppo e quindi l'importazione nella mia istanza SQL locale (2014). Sto girando una nuova casella Win10 e ho installato il CTP SQL 2016. Sto collegandomi a quella stessa istanza Azure e può funzionare contro di essa - e può esportare una .bacpac proprio come con 2014.Impossibile importare bacpac SQL Azure a 2016 CTP

Ma quando provo ad importare locale sto ottenendo:

Could not import package. 
Warning SQL72012: The object [FOO33_Data] exists in the target, but it will not be dropped even though you selected the 'Generate drop statements for objects that are in the target database but that are not in the source' check box. 
Warning SQL72012: The object [FOO33_Log] exists in the target, but it will not be dropped even though you selected the 'Generate drop statements for objects that are in the target database but that are not in the source' check box. 
Error SQL72014: .Net SqlClient Data Provider: Msg 547, Level 16, State 0, Line 3 The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_dbo.Address_dbo.User_idUser". The conflict occurred in database "FOO33", table "dbo.User", column 'idUser'. 
Error SQL72045: Script execution error. The executed script: 
PRINT N'Checking constraint: FK_dbo.Address_dbo.User_idUser [dbo].[Address]'; 

ALTER TABLE [dbo].[Address] WITH CHECK CHECK CONSTRAINT [FK_dbo.Address_dbo.User_idUser]; 
+0

E allora? SQL Server 2016 CTP, essendo un CTP, non è completamente supportato da altri produttori? C'è qualche sorpresa qui? – TomTom

+0

dice "Errore SQL72014: .Net SqlClient Data Provider: messaggio 547, livello 16, stato 0, riga 3 L'istruzione ALTER TABLE è in conflitto con il vincolo FOREIGN KEY" FK_dbo.Address_dbo.User_idUser ". Il conflitto si è verificato nel database" FOO33 " , tabella "dbo.User", colonna "idUser" " – TheGameiswar

+0

Provare a risolvere l'errore – TheGameiswar

risposta

1

Poiché questa domanda è stata anche richiesta e risposta su MSDN, condividerò qui. https://social.msdn.microsoft.com/Forums/azure/en-US/0b025206-5ea4-4ecb-b475-c7fabdb6df64/cannot-import-sql-azure-bacpac-to-2016-ctp?forum=ssdsgetstarted

testo dalla risposta legata:

ho il sospetto che cosa sta andando male qui è che l'operazione di esportazione è stata eseguita utilizzando un DB di istanza che stava cambiando, mentre l'esportazione è in corso. Ciò può causare incoerenti i dati della tabella esportata poiché, a differenza del backup/ripristino fisico di SQL Server, le esportazioni non garantiscono la coerenza transazionale. Al contrario, vengono eseguiti essenzialmente connettendosi a ciascuna tabella nel database a turno e selezionando select *. Quando una relazione di chiave esterna esiste tra due tabelle e i dati della tabella di lettura sono incoerenti, si verifica un errore durante l'importazione dopo che i dati sono stati scritti nel database e il codice di importazione tenta di riattivare la chiave esterna. Si consiglia di utilizzare il meccanismo di copia del database (creare il database copyDb come copia di originalDb), che garantisce una copia con coerenza transazionale e quindi l'esportazione dalla copia del database non modificabile.

+5

Evitare di rispondere con solo un collegamento alla risposta. Questo è un principio fondamentale di SO. –