2009-07-01 17 views
0

ローカルとリモートと呼ばれる2つのリンクサーバーがそれぞれあるとします。クエリ内のデータの圧縮

ローカルからリモートに送信する必要のあるデータを圧縮(および圧縮解除)するシンタックスがあります(またはその逆もあります)。私は私のリモート・データベースからのデータと私のローカルデータベースを更新していた場合、私は次のことを行うだろう

INSERT INTO [Local Server].[Local DB Name].dbo.[Table] 
SELECT * 
FROM [Remote Server].[Remote DB Name].dbo.[Table] 

私はそれがリモートからに送信されるデータを圧縮適用できる構文がありますローカルなので、帯域幅コストと実行時間を削減できますか?

答えて

1

SQL Serverには何も組み込まれていません。

代わりにファイルに送信し、ファイルを圧縮し、転送して相手側に持ち込むこともできます。これをxp_cmdshellのようなもので片側から自動化することは可能です。

+0

ありがとう! – super9

1

SQL Serverのbcpユーティリティを使用してデータをコピーし、自分で圧縮してからリモートサーバーに送信することができます。また、データベースへのアップロードは、insert文を使用するよりもはるかに高速です。

+0

これをCade Rouxのzipファイルの推奨と組み合わせると、大規模なデータセットをコピーする場合にのみ役立ちます。バルクインポートロギングを使用し、1つの巨大なトランザクションを持たず、ログファイルに相応の影響を与えることで節約になります。 –