%20%E3%82%92%E6%8C%81%E3%81%A4%202%20%E5%8F%B0%E3%81%AE%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F%20.png)
Excel で、サーバー名とインスタンスを使用して複数の SQL サーバーに接続するプログラムがあります。質問ですが、同じネットワーク内に同じサーバー名を持つ 2 つのサーバー (マシン) がある場合はどうなるのでしょうか。それは可能ですか?
これを防ぐにはどうしたらよいでしょうか?
サーバー名ではなく IP で接続する方が安全ですか?
答え1
非常に特殊な状況では、同じ名前に応答する複数のサーバーが存在することがあります。ただし、各サーバーは共有できない独自の名前を持ちます。
両方に同じ名前を付けようとすると、どちらかのサーバーにランダムに接続されるか、または、一方が名前を「取得」してもう一方が失敗することになります。
一般的に、IP はホスト名よりも頻繁に変更されるため、IP 経由での接続は好ましくありません。これがホスト名の目的です。つまり、ネットワークのニーズに応じて IP を変更できるように、意味のある名前で IP を見つける機能を提供することです。
答え2
2 台の Windows コンピュータが同じドメインにある場合、同じホスト名を持つことはできません。これは許可されていません。
代わりに、ワークグループ内または異なるドメイン内にある場合は、同じ名前を付けることができますが、その場合、互いを見つけるとすぐにエラーが発生します。ただし、異なる IP サブネット内にある場合は、これを検出する方法がないため、同じホスト名を引き続き使用します。
さて、それらにアクセスしようとする他のすべてのコンピューターについてです。ホスト名を IP アドレスにマッピングするのは DNS によって行われます。したがって、同じ名前のサーバーが 2 つあったとしても、実際に接続するのは DNS に登録されているサーバーであり、もう 1 つは単に使用されないだけです。DNS エントリが重複していない限り、この場合、各サーバーに接続する可能性は 50% になります。