web-dev-qa-db-ja.com

Windowsの。\、(local)、localhost、computernameの違いは何ですか?

サーバーにあるデータベースにアクセスしようとしたときにサーバー名を取得するさまざまな方法について質問がありました。

違いは何ですか .\(local)localhost、およびyourcomputername? SQL Serverにログインするときに、これらすべてをサーバー名として使用できます。

それらを交換可能に使用できますか、それとも特定のシナリオでのみ使用できますか?どちらを使用できるかについて制限はありますか?

Windowsがこれらすべてを同じ値に解決する方法について混乱しています。同じネットワーク上で異なるコンピューター間で使用している(つまり、別のマシンにあるサーバーにアクセスしようとしている)場合でも、これらは機能しますか?

5
tidus tidus

SQLサーバーにアクセスするときの機能に実際には違いはないと思います。それは個人的な好みの問題です。

(local)-SQL Server固有であり、特殊文字が含まれているため、気に入らない。

localhost-SQL-Serverのローカルインスタンスに常に接続し、スクリプトで使用する場合は、多くのサーバー間で移植できるようにする場合は問題ありません。

yourcomputername-インタラクティブに機能しますが、スクリプトで使用する場合、ローカルマシンではなく別のサーバーで実行すると、同じ特定のサーバーに接続します。これはあなたがやりたいことかもしれませんが、そうではないかもしれません。

.\-これが存在することを私は知りませんでした。個人的には常に.を使用します。これはlocalhostと同じですが、はるかに短く、他のWindowsネットワークシナリオでも機能します。

0
Peter Hahndorf

「localhost」は127.0.0.1を指しているため、別のコンピューターからSQLサーバーにアクセスしようとすると機能しません。 「yourcomputername」は、両方のコンピューター(クライアントとサーバー)が1つのワークグループ/ドメインにある場合に機能するはずです。

1
warder