sql >> Database >  >> RDS >> Sqlserver

SSMS 2016-fout bij het importeren van Azure SQL v12 bacpac:hoofdsleutels zonder wachtwoord niet ondersteund

Ik had hetzelfde probleem. Nadat ze met de ondersteuning van Azure hadden gesproken, ontdekten ze dat het probleem werd veroorzaakt doordat er een lege databasehoofdsleutel is gemaakt om de opslagreferenties voor de controle te versleutelen (controle is een optionele instelling).

Houd er rekening mee dat de instellingen voor databasecontrole worden overgenomen van de serverinstellingen.

Hoe dan ook, het werk dat ze bedachten was:

  1. Auditing op de server (of database) uitschakelen
  2. Laat de databasehoofdsleutel vallen met DROP MASTER KEY commando.

Dan werkt de export zoals verwacht. Hopelijk lost Azure dit probleem snel op, zodat auditing en export kunnen samenwerken.

Update 21 maart 2017 Betere oplossing van MS

Omdat het enige tijd duurt voordat de fix is ​​geïmplementeerd, hebben ze ook een alternatieve oplossing voorgesteld, waarvoor geen extra stappen nodig zijn (zoals het uitschakelen van auditing of de stappen van de blog) om dit probleem te voorkomen. Nadat auditing is ingeschakeld, werkt u de hoofdsleutel bij en stelt u het wachtwoord in. Door een wachtwoord in te stellen voor de bestaande hoofdsleutel, wordt het probleem verholpen. Ook heeft het instellen van het wachtwoord geen invloed op de controle en blijft het werken. De syntaxis om het wachtwoord toe te voegen is als volgt:

-- execute in the user database
ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = ‘##############’;

De link heeft ook een PowerShell-script dat u kunt gebruiken om de beledigende SQL-instructie uit de .bacpac te verwijderen bestand.



  1. Een databasedump maken voor specifieke tabellen en items Postgres

  2. U moet postgresql-server-dev-X.Y installeren voor het bouwen van een server-side extensie of libpq-dev voor het bouwen van een client-side applicatie

  3. SQL uitvoeren vanuit batchbestand

  4. Top 5 MySQL GUI-tools (gratis en betaald)