

SQLで 接続先のホスト名は

[code]

    SELECT @@SERVERNAME 
    
[/code]

で 取得できるようですが

接続するサーバーはみな一緒なのではないですか？


CC BY-SA 4.0
2020-07-27T17:06:34.690
69033
2020-08-04T22:32:30.610
2020-08-04T22:32:30.610
19110
39481
question
sql
DB の接続先はいつも一緒か？


文字通り自分が接続しているデータベースのホスト名を返してくれるものですが、  
DBが単一サーバ内に置かれていてその単一のサーバのDBに対してきちんと接続先を指定していればもちろん一緒になります。

ただし、その前提が崩れるインフラ構成をとることもできます。  
例えばリードレプリカを用意して、DNSラウンドロビンやロードバランサで接続するサーバを完全ランダムで接続先を変えるということができます。  
その場合に、ランダムだけど今接続しているのはどのサーバになのか？という情報を取ることができます。

とはいえ、サーバによって動作を変えたりすることはないです。あくまで環境の変数なのでデバッグやログのための変数と思ってもらって、シンプルなアプリケーションではあまり使われない変数ではあります。


CC BY-SA 4.0
2020-07-28T01:48:46.707
69047
2020-07-28T01:48:46.707
22665
69033
answer