SQLの実行タスクに2つの異なる接続マネージャーを表示させることはできますか?たとえば、ServerB/DatabaseBに対してクエリを実行するServerA/DatabaseAからのデータが必要です。だから今私はクエリを書いて両方のサーバーからデータを取得する必要があります。現在、2台のサーバーはリンクサーバーではありません。必ずしもそうではありません。
これも可能ですか、教えてください。
SQLの実行タスクに2つの異なる接続マネージャーを表示させることはできますか?たとえば、ServerB/DatabaseBに対してクエリを実行するServerA/DatabaseAからのデータが必要です。だから今私はクエリを書いて両方のサーバーからデータを取得する必要があります。現在、2台のサーバーはリンクサーバーではありません。必ずしもそうではありません。
これも可能ですか、教えてください。
私は以前にリンクされたサーバーの不足を回避する方法を見つけなければなりませんでした、そして私はこのようなことをしました-それを試してみてください:
if object_id('tempdb..#mytemptable') is not null begin drop table #mytemptable end
select * into #mytemptable
from openrowset('SQLNCLI10','Server=TheOtherServersName;Trusted_Connection=yes;','SELECT * FROM FullyQualifiedName.dbo.MyTable')
/* Now use the temptable created on this server to do your join/subquery on whatever */
select * from MyOtherTable a
join #mytemptable b on a.id = b.id
乾杯!
との個別のデータフローソースタスクを含むデータフロータスクを追加しServer A
ますServer B
。次に、適切なデータフロー変換タスクを使用して結果を結合します。
例として、このデータフローは、Flat File Source
タスクを取得OLEDB Source
し、結果を並べ替えてから、結果にMerge Join
タスクを使用します。実装には2つOLEDB Sources
または(ODBC、ADO NETなど)が必要なようです。
リンクサーバーを構成したり、SQL ServerデータソースをOPENROWSET
有効にしたりする必要がないため、リンクサーバーまたはでこの方法が好きです。Adhoc Distributed Queries