2016-05-11 33 views
3

私はローカルデータベースに移動する必要があるデータベースをAzureに持っています。ドロップデータベーススコープ付きの資格情報

SSMSを使用して.bacpakファイルをエクスポートし、ローカルバージョンのSql Serverに接続してインポートしようとしました。

インポートが開始されますが、その後、この行に失敗し

Create database scoped credential... 

この機能は、Azureの中で利用可能ですが、SQLサーバー2014年(それは2016年になります)ではありません。

解決するには、私はAzureデータベースに行き、SSMSでクレデンシャルを削除しました。

したがって、SSMSでは資格情報が表示されなくなりました。

次に、新しいエクスポートを作成してインポートしようとしました。しかし、同じエラーメッセージが表示されています。つまり、スクリプトはデータベースから削除されても資格情報を作成しようとしています。

資格情報を完全に削除するために何か他に必要なことはありますか?元のファイルをインポートしていないことを確認するために、エクスポート/インポートを何回か試してみましたが、そうではないと確信しています。コンパクトなコマンドや、データベースへの変更を完全にフラッシュするために実行する必要があるものはありますか?

+2

SSMSバージョンを使用されていますか?私の場合、インポート(資格情報付き)は12.0.4100.1で正常に動作します。 Azure dbの 'sys.database_credentials'にレコードがもうありませんか? –

+0

はい、確かにそこに記録があります。私は何とかそれを削除できるかどうかわかります。 –

+1

成功。私は、 "ドロップデータベーススコープの資格"を使用し、それをテーブルから削除しました。 @IlyaChumakovあなたが答えとして投稿するなら、私は受け入れます。 –

答えて

4

Azure SQLデータベースでsys.database_credentialsビューを確認し、残りの資格情報(存在する場合)をDROP DATABASE SCOPED CREDENTIALコマンドで削除します。私たちはあなたに次の操作を行いPowerShellスクリプトを提供短期間の軽減のために

1

  1. これを実行した後BACPAC
  2. から資格情報オブジェクトを削除するBACPAC
  3. からマスターキーオブジェクトを削除しますPSスクリプトをbacpacにインストールすると、新しいbacpacファイルに "patched"という接尾辞が付きます。

ダウンロードそれhere

例:

C:\PS> .\RemoveMasterKey.ps1 -bacpacPath "C:\BacPacs\Test.bacpac"

Original Posthttps://blogs.msdn.microsoft.com/azuresqldbsupport/2017/03/30/exported-database-from-azure-sql-failed-to-be-imported-to-azure-sql-or-to-local-sql-server/

+0

これは私にとってもうまくいった。それはSQL Expressでも私のために働いていました。 –

関連する問題