3

別のサーバーの別のデータベースからデータを選択したい。

私が知っているのは、リンク サーバーを追加し、T-SQL を実行することです。

この方法は良い選択ですか、それとも他のデータベース サーバーで SQL を実行する他の方法はありますか?

ありがとう。

4

2 に答える 2

6

リンクサーバーを追加することは問題ありません。

次に、おそらく4つの部分からなる命名規則を使用します

select * from [server].[database].[Owner or Schema].[tablename]

または、 OPENROWSET(Transact-SQL)を確認することもできます

OLEDBデータソースからリモートデータにアクセスするために必要なすべての接続情報が含まれています。この方法は、リンクサーバー内のテーブルにアクセスする代わりの方法であり、OLEDBを使用してリモートデータに接続してアクセスする1回限りのアドホックな方法です。OLE DBデータソースをより頻繁に参照するには、代わりにリンクサーバーを使用してください。

于 2012-09-14T04:18:52.263 に答える
4

どのように

利点

  • 複数のサーバーに負荷を分散できます

欠点

  • 追加のネットワーク/通信/セキュリティオーバーヘッド
  • 追加の運用オーバーヘッド-ユーザー、ログインなどを両方のサーバーに追加する必要があります
  • 脆弱性-ローカルデータベースのコードを名前付きの外部サーバー/データベースに結合しています。ただし、同義語を使用して結合を緩めることができます。

代替案

  • レプリケーション/ミラーリング/ログ配布を使用して、同じサーバー上のデータベースの「ローカル」コピーを取得します(ただし、これには、ローカルサーバーまたはインスタンスでの追加のIOとメモリの消費、およびデータ同期に関する追加の問題もあります)
  • アプリで2つの接続文字列を使用し、アプリでデータ操作を行います。

しかし、スタンダーが言うように、クロスサーバーSQLを実現する上で実際の技術的な問題はありません。

于 2012-09-14T04:20:05.823 に答える