質問: SQLで 接続先のホスト名は ``` SELECT @@SERVERNAME ``` で 取得できるようですが 接続するサーバーはみな一緒なのではないですか?
回答: 文字通り自分が接続しているデータベースのホスト名を返してくれるものですが、 DBが単一サーバ内に置かれていてその単一のサーバのDBに対してきちんと接続先を指定していればもちろん一緒になります。 ただし、その前提が崩れるインフラ構成をとることもできます。 例えばリードレプリカを用意して、DNSラウンドロビンやロードバランサで接続するサーバを完全ランダムで接続先を変えるということができます。 その場合に、ランダムだけど今接続しているのはどのサーバになのか?という情報を取ることができます。 とはいえ、サーバによって動作を変えたりすることはないです。あくまで環境の変数なのでデバッグやログのための変数と思ってもらって、シンプルなアプリケーションではあまり使われない変数ではあります。