2

2つのSQLSeverインスタンスがあり、それぞれに同じスキーマがあります。1つはSQLAzureで実行されており、もう1つは標準のSQLServer2008インスタンスです。Azureデータベースからローカルインスタンスにデータをコピーする必要があります。

基本的に私はこれをしたい:

insert LOCAL_TABLE (col1, col2)
select col1, col2
from AZURE_TABLE

どうすればいいですか?

4

5 に答える 5

3

SQL Server間でデータを移動するために、それらの1つがSQL Azureである場合、いくつかのオプションがあります。

  1. SQL Azure Data Sync
  2. SSISの使用
  3. おそらくSqlBulkCopyクラスを使用して、データを移動する独自のコードを記述します。
  4. すべてのデータをコピーするだけの場合は、SQL Azure移行ウィザードを使用することもできます。スキーマをコピーするオプションを省略して、データをコピーするだけにすることができます。

編集

また、Matthew PKからの元の回答では、オンプレミスサーバーからSQL Azureサーバーにリンクできますが、これは、アドホックテストを実行する場合のオプションにすぎません。データを絶えず同期するために、本番環境ではこのアプローチを使用しません。

于 2012-04-27T22:13:01.043 に答える
1

リンクサーバーを使用して、1つのステートメントでそれを実現できます。
http://msdn.microsoft.com/en-us/library/ms188279(v=sql.100).aspx

編集: SQL Azureへのリンク方法を説明しているように見えるリンクは次のとおりです:http:
//blogs.msdn.com/b/sqlcat/archive/2011/03/08/linked-servers-to-sql-azure.aspx

編集:これは、SSMSを使用したAzureへの接続に関する記事です
http://www.silverlighthack.com/post/2009/11/11/Connecting-to-SQL-Azure-with-SQL-Server-Management-Studio- 2008-R2.aspx

そうでなければ、私はあなたが2つのステートメントでそれをする必要があると信じています。

于 2012-04-27T22:02:13.450 に答える
0

リンクサーバーは公式にはサポートされていません。ただし、サポートされており、探していることを実行するのに役立つリソースがいくつかあります。

1)SQL Azure Dacの例を確認してください:http ://sqldacexamples.codeplex.com/

2)その他のオプションはSQL AzureDataSYNCです。

于 2012-04-27T22:10:54.500 に答える
0

redgateの「 SQLDataCompare」のような製品を使用してください。私はAzureユーザーではありませんが、うまくいくと思います。数年間使用していて、かなり堅実です。

于 2012-04-27T22:11:29.357 に答える
0

これは1回限りのコピーですか、それとも継続中ですか?1回限りの場合は、(Codeplexからの)SQL Azure移行ウィザードを使用します。継続中の場合は、SQLAzureデータ同期を使用します。

また、スキーマがVSのSQL Serverデータツールに準拠していることを確認し、ターゲットをSQL Azure、SQL Server 2012、または2008に設定してからビルドすると、すべてのスキーマエラーが表示されます。

于 2012-05-10T19:03:03.447 に答える