
Windows Azure の MSSQL バックアップ/復元機能をテストするため、テスト データベースを選択し、「エクスポート」オプションを選択しました。保存場所を選択するように求められたので、適切な場所を選択しました。エクスポート プロセスは「正常に」完了しました。
既存のデータベースに変更を加えずにエクスポートしたファイルをインポートしようとすると、インポートは正常に完了しました。
ただし、既存のデータベースのテーブルにテスト行を挿入し、既存のデータベースにバックアップをインポートしようとすると (理論的には挿入された行が元に戻る)、次のエラーが発生しました。
サービス操作中にエラーが発生しました。データは 1 つ以上のユーザー オブジェクトが含まれているため、ターゲットにインポートできません。インポートは、新しい空のデータベースに対して実行する必要があります。エラー SQL0: データは 1 つ以上のユーザー オブジェクトが含まれているため、ターゲットにインポートできません。インポートは、新しい空のデータベースに対して実行する必要があります。
私が試したこと:
- 既存のデータベースを削除し(既存のサーバーはそのまま)、空のサーバーインスタンスにインポートする
- 既存のデータベースを削除し、同じ名前の新しい/空のデータベースを作成し、そのデータベースにインポートします。
毎回上記と同じエラーが発生します。
私が知らないことの中で、上記の問題を解決するために私に教えることができるものはどれでしょうか?
答え1
この質問をした直後に答えを見つけました。今考えてみると、かなりばかげています。
最初のインポートが成功した後、Azure UI は更新されず、インポートされたデータベースが表示されませんでした。データベースはデフォルトのバックアップ名にインポートされていました。(BlahBlahTest-2013-1-8-57)
そのため、その後データベースをインポートしようとすると、UI にデータベースが表示されていなくても、基本的にデータベースがすでに存在していると表示されました。ハンドルを少し調整すると、Azure 管理 UI にインポートされたデータベースが表示されるようになりました。
結果: MSSQL データベースのエクスポート/インポートは、小規模なデータベースでは問題なく動作するようです。インポート後は必ず UI を更新してください。(必要に応じてログアウトしてから再度ログインしてください)