2012-05-04 13 views
1

SQL Serverには2つの異なるデータベースがあり、db1とdb2と言いますが、db1とdb2の間でデータを結合する必要があります。SQL Serverでさまざまなデータベースにアクセスする

私は2つの可能性を考えました。最初はdb2のデータを読み取るdb1のビューを作成することです。もう1つはdb3のような種類の論理データベースまたは仮想データベースを作成することですdb1とdb2からdb3にアクセスできます。出来ますか?

他の提案があります。

答えて

1

ビューは良いオプションですが、私は "仮想"データベースの必要性を見ません。 KISSの原則を使用してください。

+0

私はビューオプションが好きです。私の唯一の懸案事項は、DB2にアクセスするためのビュー内のデータベース名を修正する必要があるということです。私がSWハウスの仕事をしているうちに、データベース名は一部の顧客の間で変わります。この場合は、手動でビューを変更する必要があります。私が知らないトリックがない限り! –

0

「論理データベースまたは仮想データベース」? 不要です。 DBが同じサーバー上にあると仮定すると、db2.dbo.tableのselect *のようなビューまたは直接選択でさえ、このトリックが行われます

そうでない場合は、DB1を指すDB1上にリンクサーバーを作成する必要がありますDB2

0

はい、ストアドプロシージャを作成し、 "結合/結合" SQLクエリを実行します。でSQLクエリで

句は次のように記述する必要がある「から」あなたはどこにアプリケーションのデータベースにストアドプロシージャをホストする必要がある「[データベース名]から、[スキーマ]。[表]」

へのアクセス権があります。