サーバーにあるデータベースにアクセスしようとしたときにサーバー名を取得するさまざまな方法について質問がありました。
違いは何ですか .\
、(local)
、localhost
、およびyourcomputername
? SQL Serverにログインするときに、これらすべてをサーバー名として使用できます。
それらを交換可能に使用できますか、それとも特定のシナリオでのみ使用できますか?どちらを使用できるかについて制限はありますか?
Windowsがこれらすべてを同じ値に解決する方法について混乱しています。同じネットワーク上で異なるコンピューター間で使用している(つまり、別のマシンにあるサーバーにアクセスしようとしている)場合でも、これらは機能しますか?
SQLサーバーにアクセスするときの機能に実際には違いはないと思います。それは個人的な好みの問題です。
(local)
-SQL Server固有であり、特殊文字が含まれているため、気に入らない。
localhost
-SQL-Serverのローカルインスタンスに常に接続し、スクリプトで使用する場合は、多くのサーバー間で移植できるようにする場合は問題ありません。
yourcomputername
-インタラクティブに機能しますが、スクリプトで使用する場合、ローカルマシンではなく別のサーバーで実行すると、同じ特定のサーバーに接続します。これはあなたがやりたいことかもしれませんが、そうではないかもしれません。
.\
-これが存在することを私は知りませんでした。個人的には常に.
を使用します。これはlocalhost
と同じですが、はるかに短く、他のWindowsネットワークシナリオでも機能します。
「localhost」は127.0.0.1を指しているため、別のコンピューターからSQLサーバーにアクセスしようとすると機能しません。 「yourcomputername」は、両方のコンピューター(クライアントとサーバー)が1つのワークグループ/ドメインにある場合に機能するはずです。