SQL Azureデータベースを開発マシンにコピーする方法を知っている人はいますか?クラウドに開発データベースを設置するための支払いをやめたいのですが、実稼働データを取得する最良の方法です。実稼働データベースを新しい開発データベースにコピーしますが、同じデータベースをローカルにしたいです。
助言がありますか?
これを行うには複数の方法があります。
data
のみをインポートします。列のプロパティ、制約、キー、インデックス、ストアドプロシージャ、トリガー、セキュリティ設定、ユーザー、ログオンなどは転送されません。ただし、これは非常に単純なプロセスであり、SQL Server Management Studioのウィザードを使用するだけで実行できます。method#1(SSISを使用)の手動手順は次のとおりです。
SSISパッケージを作成し、データを再インポートしたいときにいつでも再実行することで、自動化できます。 SSISを使用してクリーンなDBにしかインポートできないことに注意してください。一度行ったローカルデータベースの増分更新はできません。
方法#2(SSIDデータとスキーマオブジェクト)は非常に簡単です。最初に上記の手順を実行してから、DB作成スクリプトを作成します(SSMSでデータベースを右クリックし、[スクリプトの生成]-> [データベースの作成]を選択します)。次に、ローカルデータベースでこのスクリプトを再生します。
方法#3は、ブログに記載されています: http://dacguy.wordpress.com/2012/01/24/sql-Azure-importexport-service- has-hit-production / 。 DBコンテンツをBACPACとしてAzure Blobストレージに転送するプロセスを含むビデオクリップがあります。その後、ファイルをローカルにコピーして、SQLインスタンスにインポートできます。 BACPACをデータ層アプリケーションにインポートするプロセスについては、 http://msdn.Microsoft.com/en-us/library/hh710052.aspx で説明しています。
dumbledad's answer の簡易バージョンを追加したかったのは、正しいバージョンだからです。
Azureデータベースデータをローカルデータベースにコピーする:これで、SQL Server Management Studioを使用して、次のようにこれを行うことができます。
「次へ」/「次へ」/「終了」
SQL Server 2016 Management Studioでは、ローカルコンピューターにAzureデータベースを取得するプロセスが合理化されました。
インポートするデータベースを右クリックし、タスク>データ層アプリケーションのエクスポートをクリックして、データベースをローカルの.dacpacファイルにエクスポートします。
ローカルターゲットSQLサーバーインスタンスで、右クリックデータベース>データ層アプリケーションのインポートを実行できます。ローカルになったら、データベースのバックアップや復元などを実行できます。
今はもっと簡単だと思います。
さらに、SQLバックアップとFTP( https://sqlbackupandftp.com/ )を使用して、安全なFTPサーバーへの毎日のバックアップを行います。そこから最新のBACPACファイルを取得し、同じダイアログにインポートします。これにより、ローカルデータベースの作成がより速く簡単になります。
Windows Azure管理ポータルで SQL Azure Data Sync も確認できます。 SQL AzureとSQL Serverの間のスキーマとデータを含むデータベース全体を取得および復元できます。
とても簡単です。これは私にとって... Azure SQLデータベースをローカルマシンにダウンさせるという点で...:
ただし、データだけでなくスクリプトも必要な場合は、生成を開始する前に詳細オプションを確認してください...「スクリプトするデータの種類」までスクロールダウンし、「スキーマとデータ」...またはあなたに適したもの。
これにより、ローカルマシンで実行できるNice SQLスクリプトファイルが提供され、データベースが作成され、すべてのデータが入力されます。
私の場合、FKやその他の制約がないことを忘れないでください...また、大量のデータではありませんでした。
一般的なバックアップメカニズムとしてこれはお勧めしません...
msdeploy.exe
を使用警告:msdeploy.exe
は、宛先データベースを単独で作成できないため、最初に手動で作成する必要があります。
次のようにmsdeploy.exe
を実行します。
"c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="Azure_DB_connection_string",includeData=true -verbose
SqlPackage.exe
を使用Azure DBをbacpacパッケージにエクスポートします。
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"Azure_db_server" /sdn:"Azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
パッケージをローカルDBにインポートします。
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
これを試してください: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-Azure/ 。
他の選択肢は SQL Azure Data Sync です。
数日前に出会ったもう1つのブログ記事がありますが、今は見つかりませんでした。見つけたらすぐにこの投稿を更新します。
ツール「SQL Database Migration Wizard」で試すことができます。このツールは、Azure SQLからデータをインポートおよびエクスポートするオプションを提供します。
詳細はこちらをご覧ください。
エラー「読み取り専用列「id」への挿入の失敗」が発生したため、SSISインポート/エクスポートを機能させることができませんでした。また、 http://sqlazuremw.codeplex.com/ が機能せず、上記のSQL Azure Data Syncへのリンクが機能しませんでした。
しかし、BACPACファイルに関する優れたブログ投稿を見つけました: http://dacguy.wordpress.com/2012/01/24/sql-Azure-importexport-service-has-hit-production/
投稿内のビデオ では、ブログ投稿の作成者は6つのステップを実行します。
Azure管理ポータルでストレージアカウントを作成または移動します。 Blob URLとストレージアカウントのプライマリアクセスキーが必要になります。
ブログの投稿では、bacpacファイルの新しいコンテナーを作成することを推奨しており、そのために Azure Storage Explorer を使用することを提案しています。 (注:Azureストレージエクスプローラーに追加するには、ストレージアカウントのBlob URLとプライマリアクセスキーが必要です。)
Azure管理ポータルで、エクスポートするデータベースを選択し、リボンの[インポートとエクスポート]セクションで[エクスポート]をクリックします。
結果のダイアログには、データベースのユーザー名とパスワード、blob URL、およびアクセスキーが必要です。コンテナをblob URLに含め、ファイル名を含めることを忘れないでください(例 https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac )。
[完了]をクリックすると、データベースがBACPACファイルにエクスポートされます。これには時間がかかる場合があります。 Azure Storage Explorerをチェックインすると、すぐにゼロバイトファイルが表示される場合があります。これは、ブロブストアへの書き込みアクセス権があることを確認するインポート/エクスポートサービスです。
それが完了したら、Azure Storage Explorerを使用してBACPACファイルをダウンロードし、SQL Server Management Studioでローカルサーバーのデータベースフォルダーを右クリックして、データ層アプリケーションのインポートを選択し、BACPACファイルを読み込むウィザードを開始しますAzureデータベースのコピーを作成します。最初にローカルにコピーしたくない場合は、ウィザードはblob-storeに直接接続してBACPACファイルを取得することもできます。
最後の手順は、SQL Server Management StudioのSQL Server 2012エディション(実行中のバージョン)でのみ使用できます。このマシンにはチェックする以前のものはありません。ブログの投稿では、著者は http://sqldacexamples.codeplex.com/releases で入手できると思われるインポートにコマンドラインツールDacImportExportCli.exeを使用しています
受け入れられた回答は古くなっています。より良い答えが見つかりました:データ層アプリケーションのインポートを使用
詳細については、この記事を参照してください。 Azure SQLデータベースのローカルサーバーへの復元
「エラー「読み取り専用列「id」への挿入の失敗」が発生したため、SSISインポート/エクスポートを動作させることができませんでした。これは、マッピング画面で指定することで回避できます。 Identity要素の挿入を許可します。
その後、SQLインポート/エクスポートウィザードを使用してAzureからローカルデータベースにコピーすることですべてが正常に機能しました。
SQL Server 2008 R2に付属のSQL Import/Export Wizard(正常に機能した)、およびローカルデータベースを作成するVisual Studio 2012 Expressのみがありました。
Optillectをダウンロード SQL Azure Backup -15日間の試用版があるため、データベースを移動するだけで十分です:)
私は常に、最も簡単な方法の1つであるインポート/エクスポート機能を使用しています。
ステップ1:
次のようにAzureインスタンスからバックアップを取得し、データベースを選択→右クリック→タスク→データ層アプリケーションをエクスポート。
ステップ2:バックアップファイルに特定の名前を付けて、目的の場所に保存します
ステップ3:これで、SQLインスタンスからローカルにデータベースのバックアップを取得できました。ローカルに復元しましょう。バックアップしたデータベースをCドライブにコピーします。管理者権限でPowerShellを開き、Cドライブに移動します
ステップ4:PowerShellスクリプトをダウンロードして、マスターを削除します keyRemoveMasterKey.ps1 この場合、同じドライブにスクリプトがありますそのC.
ステップ5:次のようにスクリプトを実行します。\ RemoveMasterKey.ps1 -bacpacPath "C:\ identity.bacpac"
これで、ローカル環境のMSSQL 2017で復元できるようになりました。
ステップ6:ローカルサーバーに接続し、データベース→Import-Data-Tier-Applicationをクリックします
ステップ7:復元するデータベースの名前を指定します。
これですべてが緑色で表示されます!
図で私のブログを読んでください。
新しいAzureモバイルサービスを使用して、SQL AzureからAzure Storageでホストされる.bacpacファイルへの夜間バックアップエクスポートを実行できます。このソリューションは100%クラウドであり、サードパーティのツールを必要とせず、ローカルにホストされたSQL Serverインスタンスを必要とせずにダウンロード/コピー/バックアップを行います。
約8つの異なる手順がありますが、すべて簡単です: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your -sql-Azure.aspx
SQL Azureのインポート/エクスポートサービスを使用して、.bacpacファイルを作成します。
次に、別のStack Overflowの記事でこのメソッドを見てください。
私にとってのトリックは、空のDBでPK/FKs/constraintsの複製を開始し、データのインポート中に一時的に制約を無効にすることでした( https://stackoverflow.com/a/16141 を参照)。
より正確に:
お役に立てれば!
Azure SQL Syncを使用するDBのBacpacのインポートに問題がある場合、Sandrino Di Mattiaは 偉大なシンプルなアプリケーション を開発しました=これを解決します。
誰もがデータベースをローカルにバックアップするための無料で効果的なオプションが必要な場合(そして手動で行うことを気にしない)、最新バージョンのMicrosoft Visual Studio 2015 Community Edition(無料)またはProfessional/Premium/Ultimateに組み込まれたスキーマおよびデータ比較機能を使用します版。それは魅力のように機能します!
AzureでBizParkアカウントを持っていますが、支払いをせずにデータベースを直接バックアップする方法はありません。 VS Worksでこのオプションを見つけました。
これで、SQL Server Management Studioを使用してこれを行うことができます。
こんにちはSQLAzure DBの移行と管理にSQLAzureMWツールを使用しています。非常に便利なもの。これはcodeplexからダウンロードされましたが、現在は利用できず、codeplexはシャットダウンされます。同じアプリケーションツールがGttHubで利用可能になりました。以下のリンクは、このツールの使用方法と、ダウンロード可能なアプリケーションの説明です。
SQL Server Management Studioで
インポートするデータベースを右クリックし、[タスク]> [データ層アプリケーションのエクスポート]をクリックして、データベースをローカルの.dacpacファイルにエクスポートします。
ローカルターゲットSQLサーバーインスタンスで、[データベース]> [データ層アプリケーションのインポート]を右クリックし、ローカルになったら、データベースのバックアップや復元などを実行できます。