2

私たちは、さまざまな開発/テスト/本番環境での問題を解決しようとしています。

現在、UAT から運用環境に移行するときに、ストアド プロシージャでリンク サーバーの名前を変更することを忘れないでください。たとえば、本番環境では、AuthenticationDB が別のサーバー上にあるため、SMOLDB の sproc はリンク サーバーを介して LS_AUTH.AuthenticationDB.dbo.SomeSproc を呼び出します。ただし、Dev と UAT では、SMOLDB と認証は同じサーバー上にあります。

このリスクを回避するために、すべての環境でリンク サーバーへの一貫した参照を設定することを考えています。したがって、UAT でも LS_AUTH リンク サーバーを作成し、SMOLDB は引き続き LS_AUTH.AuthenticationDB.dbo.SomeSproc を呼び出します。

リンクされたサーバーへの呼び出しは、解決される前にネットワークに送信されますか? 2 つのデータベースが同じサーバー上にあり、リンク サーバーを経由する必要がない場合に、ネットワーク トラフィックに影響を与えるかどうかはわかりません。

私が推測する ServerVariables のアイデアはオプションです...

4

3 に答える 3

4

SQL サーバーでは、シノニムを使用してその問題を回避することもできます。クエリとストアド プロシージャでシノニムを使用し、運用サーバー用にシノニムを準備するだけです。

于 2009-11-18T17:54:58.440 に答える
1

これはうまくいかないかもしれませんが、ここでも同様の問題がありました. 私たちの実稼働環境には、それぞれに 1 つの DB を持つ 2 つのサーバーがあります。リンクされたサーバーを使用して、2 つの間を行き来しました。

現在、テスト/開発環境では、2 つの SQL サーバー インスタンスを使用しました。MYSERVER\LIVEDB および MYSERVER\LOCALDB。これにより、本番環境とまったく同じようにリンク サーバーをセットアップすることができました。

パフォーマンスに関する限り。異常なことは何もありませんでした。

于 2009-11-18T17:33:35.673 に答える
1

運用サーバーとテスト サーバーの両方で、リンク サーバーを使用して正確にそれを行います。パフォーマンスのオーバーヘッドに気付きませんでした。トラフィックは確かにネットワークを経由しません。

于 2009-11-18T17:21:24.083 に答える