SQL AzureデータベースをローカルのSQL Serverインスタンスにコピーするにはどうすればよいですか?


12

SQL AzureインスタンスでホストされているOLTPデータベースがあります。データベースのコピーをクラウドから取得して、ソースデータベースに影響を与えることなく、重い抽出とOLAPスタイルのクエリを実行できるようにします。

データベースのコピーをローカルSQL Serverインスタンスにプルダウンするにはどうすればよいですか?

回答:


9

SQL Azure Migration Wizardを使用します

SQL Azure移行ウィザード(SQLAzureMW)には、分析、スクリプトの生成、および(BCPを介した)データの移行のオプションがあります。

  1. SQL ServerからSQL Azure
  2. SQL AzureからSQL Server
  3. SQL AzureからSQL Azure

LocalDBで動作しないようです。宛先データベースを選択するステップで「暗号化はサポートされていません」というエラーが表示されます。ツールはlocaldbインスタンスに接続できません
tobiak777

@ red2nb-LocalDBについては何も知りませんが、おそらくエラーが示唆するように、LocalDBの問題ではなく、宛先データベースの暗号化の問題です。
ニックチャマス

4

bcpすべてのテーブルのコンテンツをローカルファイルにエクスポートするスクリプトを作成します。

bcpターゲットデータベースの各テーブルを宛先マシンのパスにエクスポートするコマンドを出力するクエリを作成することから始めます。

SELECT 
      'bcp '
    + SCHEMA_NAME(schema_id) + '.' + name
    + ' out '
    + ' D:\local_backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'
    + ' -c '
    + ' -S servername.database.windows.net '
    + ' -d database_name '
    + ' -U username '
    + ' -P password'
FROM sys.tables;

bcpコピー先のマシンのSQL Azureデータベースに対してこのクエリを実行し、結果をcmdファイルに保存します。そのcmdファイルを実行して、各テーブルをテキストファイルにエクスポートします。

C:\> REM ask bcp to save the results of the above query to a file
C:\> bcp "SELECT      'bcp '    + SCHEMA_NAME(schema_id) + '.' + name   + ' out '   + ' D:\backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'    + ' -c '    + ' -S servername.database.windows.net '    + ' -d database_name '  + ' -U username '   + ' -P password' FROM sys.tables;" queryout output_path\bcp_script.cmd -c -S servername.database.windows.net -d database_name -U username -P password

C:\> REM execute the bcp commands saved to file
C:\> output_path\bcp_script.cmd

これは迅速で汚れたアプローチであり、大規模なデータベースや複雑なスキーマには適しいません



2

このリストに新しいツールがあることに気付きました。それはIderaのAzure SQL Database Backupです。無料で、通常は優れたツールを作成するため、試してみる価値があります。

データベース(今回はスキーマのみ、データなし)をAzureにエクスポートする別の方法は、DACパッケージ(Management StudioまたはVisual Studio 2010から抽出された.dacpacファイル)を使用することです。これは、SQL 2008 R2 SP1 +からのみ機能します。

データ層アプリケーションの詳細については、こちらをご覧ください。


0

SSMSデータインポートウィザードを使用できます。これについての写真付きの良いブログ投稿です。キーポイントは、 ソース・データベースの.NETデータプロバイダを選択することです。他の(およびデフォルト-ネイティブの)プロバイダーと連携させようとすると、多くの問題が発生しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.