2つのSQLSeverインスタンスがあり、それぞれに同じスキーマがあります。1つはSQLAzureで実行されており、もう1つは標準のSQLServer2008インスタンスです。Azureデータベースからローカルインスタンスにデータをコピーする必要があります。
基本的に私はこれをしたい:
insert LOCAL_TABLE (col1, col2)
select col1, col2
from AZURE_TABLE
どうすればいいですか?
2つのSQLSeverインスタンスがあり、それぞれに同じスキーマがあります。1つはSQLAzureで実行されており、もう1つは標準のSQLServer2008インスタンスです。Azureデータベースからローカルインスタンスにデータをコピーする必要があります。
基本的に私はこれをしたい:
insert LOCAL_TABLE (col1, col2)
select col1, col2
from AZURE_TABLE
どうすればいいですか?
SQL Server間でデータを移動するために、それらの1つがSQL Azureである場合、いくつかのオプションがあります。
編集
また、Matthew PKからの元の回答では、オンプレミスサーバーからSQL Azureサーバーにリンクできますが、これは、アドホックテストを実行する場合のオプションにすぎません。データを絶えず同期するために、本番環境ではこのアプローチを使用しません。
リンクサーバーを使用して、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つのステートメントでそれをする必要があると信じています。
リンクサーバーは公式にはサポートされていません。ただし、サポートされており、探していることを実行するのに役立つリソースがいくつかあります。
1)SQL Azure Dacの例を確認してください:http ://sqldacexamples.codeplex.com/
2)その他のオプションはSQL AzureDataSYNCです。
redgateの「 SQLDataCompare」のような製品を使用してください。私はAzureユーザーではありませんが、うまくいくと思います。数年間使用していて、かなり堅実です。
これは1回限りのコピーですか、それとも継続中ですか?1回限りの場合は、(Codeplexからの)SQL Azure移行ウィザードを使用します。継続中の場合は、SQLAzureデータ同期を使用します。
また、スキーマがVSのSQL Serverデータツールに準拠していることを確認し、ターゲットをSQL Azure、SQL Server 2012、または2008に設定してからビルドすると、すべてのスキーマエラーが表示されます。