Home > Tips & Tricks > Quando importando un database SQL Azure su una istanza On-Prem non va proprio tutto bene

Quando importando un database SQL Azure su una istanza On-Prem non va proprio tutto bene

Se avete abilitato Sql Server Auditing su un database di SQL Azure, dopo averlo esportato in .bacpac, se provate ad importarlo sulla vostra istanza in locale vi troverete di fronte al seguente messaggio:
Error SQL72014: .Net SqlClient Data Provider: Msg 33161, Level 15, State 1, Line 1 Database master keys without password are not supported in this version of SQL Server.
Error SQL72045: Script execution error. The executed script:
CREATE MASTER KEY;

Questo comportamento è causato dal diverso comportamento di Azure SQL DB rispetto a SQL Server locale. Una master key senza password è una caratteristica solo di Azure SQL DB, mentre una installazione di SQL Server locale deve necessariamente avere una password di encryption per la master key.

Il problema si risolve eseguendo i passi magnificamente descritti in questo articolo. Personalmente ho adottato la soluzione 2 usando uno script powershell che trovate nello stesso articolo. Prestate attenzione alla dimensione del file .bacpac e quindi adottate lo script adatto. Lo script va lanciato indicando il path completo del file <nomefile>.bacpac e genera un file <nomefile>_patched.bacpac  che sarà utilizzato per importare il database nella vostra istanza locale di SQL Server.

Link utili:

Exported database from Azure SQL failed to be imported to Azure SQL or to local SQL Server

Chi è Pasquale Ceglie

Marito e padre. Appassionato di SQL Server e delle tecnologie Microsoft in generale. Opera nel mondo dei gestionali da tanti (troppi :-) ) anni. Attualmente DBA si preoccupa di tenere “in salute” i database e le infrastrutture che gli affidano.

Leggi Anche

Conversioni implicite: cosa sono e che impatto hanno sulle nostre query

Come credo alla maggior parte di voi, spesso, anche a me capita di dover mantenere …