2012-04-27 7 views
2

私は2つのSQLSeverインスタンスを持っていて、それぞれが同じスキーマを持っています。 1つはSQLAzureで実行され、もう1つは標準SQLServer 2008インスタンスです。 Azureデータベースからローカルインスタンスにデータをコピーする必要があります。TSQL:SQL Serverインスタンス間でデータを移動するにはどうすればよいですか?

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

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

はどのように私はそれを行うのでしょうか?

答えて

3

、そのうちの一つは、SQL Azureのであれば、あなたが持っている夫婦:

  1. SQL Azure Data Sync
  2. Using SSIS
  3. は使用してデータを移動する独自のコードを書きます、おそらくSqlBulkCopyクラスです。
  4. すべてのデータをコピーする場合は、SQL Azure Migration Wizardを使用することもできます。スキーマをコピーするオプションを省略し、データをコピーするだけで済みます。 EDIT

    そして

、マシューPKからのオリジナルの答えによって、あなたはあなたの-プレムサーバーからSQL Azureのサーバーするをリンクすることができ、これが唯一のオプションときであるとして、あなたはちょっとしたアドホックテストをしたいだけです。私は、データを常に同期させるためにこの方法をプロダクションでは使用しません。

+0

+1を編集すると、これは最も包括的な答えです。 –

+0

+1アドホックやデベロッパーではなく、通常の実行スクリプトになる場合は、SSISを使用することをお勧めします。 – Matthew

+0

リンクサーバーを使用してしまったので、単純なinsert文を実行できます。これは一度のデータ移行であり、定期的な同期のためのものではありません。素晴らしい仕事をした。ありがとう。 – mtmurdock

1

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

:EDIT http://blogs.msdn.com/b/sqlcat/archive/2011/03/08/linked-servers-to-sql-azure.aspx


:ここ
はSSMS
と紺碧に接続するの書き込みアップがある。ここ
は、SQL Azureのにリンクする方法を説明するために表示されるリンクです http://www.silverlighthack.com/post/2009/11/11/Connecting-to-SQL-Azure-with-SQL-Server-Management-Studio-2008-R2.aspx

それ以外の場合は、2つのステートメントで行う必要があると思います。

+0

SQL Azureでは、リンクサーバー機能はサポートされていません。また、SQL Azureではコンテキスト切り替えもサポートされていません。 – astaykov

+0

@astaykov私は自分でそれをやったことはありませんが、それを行う方法を説明するようなリンクを追加しました。 – Matthew

+0

あなたのリンクには古くなった情報が表示されます。さらに、SSMSからSQL Azureに接続する方法だけを示しています。 @mtmurdockの質問には答えません。 – astaykov

0

リンクサーバーは正式にはサポートされていません。しかし、ここではサポートされていますし、あなたが探しているものを行う助けとなるリソースのカップルです:

1)SQL AzureののDACの例をチェックアウト:http://sqldacexamples.codeplex.com/

2)他のオプションは、SQL AzureのデータSYNCです。

+2

SQL Azure Data Syncは、特に継続的な更新/同期の場合は論理的な選択肢のようです。 – mcollier

+0

はい!その情報を追加してくれてありがとうmcollier。 –

+0

これは良い方法のようですが、2つのデータベースを同期しようとしていません。私はちょうど1つのテーブルでこのデータを必要としました。おかげさまで、私はこれを念頭に置いておきます。 – mtmurdock

0

redgateの"SQL Data Compare"のような製品を使用してください。私はAzureのユーザーではないが、それはうまくいくだろうと思っている。私は数年間それを使ってきた。オプションの

SQL Server間でデータを移動させるために
0

これは1回限りのコピーですか、それとも継続中ですか? 一回は、その後、現在進行中の場合は (CodePlexにから)SQL Azureの移行ウィザードを使用して、SQL Azureのデータ同期に

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

+0

受け入れられた答えは既にこの提案をしました。ありがとう。 – mtmurdock