回答:
クライアントアプリケーションは、Microsoft SQL Server 2005のインスタンスに接続して、SQL Serverデータベースを操作します。各SQL Serverインスタンスは、一意の設定を持つことができる別個のサービスのセットで構成されています。ディレクトリ構造、レジストリ構造、およびサービス名はすべて、セットアップ中に特定した特定のインスタンス名を反映しています。
インスタンスは、デフォルトの名前のないインスタンスであるか、名前のあるインスタンスです。SQL Server 2005が既定のインスタンスにインストールされている場合、接続を確立するためにクライアントがインスタンスの名前を指定する必要はありません。クライアントはサーバー名を知っているだけです。
名前付きインスタンスは、コンピューターのネットワーク名とインストール時に指定したインスタンス名によって識別されます。クライアントは、接続時にサーバー名とインスタンス名の両方を指定する必要があります。
既定では、インスタンス名を指定しない限り、SQL Serverは既定のインスタンスにインストールされます。ただし、セットアップ中にデフォルトのインストールを強制しない限り、SQL Server Expressは常に名前付きインスタンスにインストールされます。
また、デフォルト(名前のないインスタンス)を1つだけインストールできますが、多くの名前のインスタンスをインストールできます。
多くのサードパーティソフトウェアは、通常、デフォルトの名前付きインスタンスを使用しますが、言及していません。上記の回答から理由は明らかです。標準バージョンはデフォルトで名前のないインスタンスをインストールしますが、Expressバージョンはデフォルトで名前の付いたインスタンスをインストールします。
2つまたは3つのDBサーバーを実行している場合、適切なバージョンに接続できない可能性があるため、この観点との違いについて知っておくことが重要です。サードパーティソフトウェアは、接続しようとしているSQLEXPRESSインスタンスであると考えている間に、デフォルトインスタンスを探しているためです。名前付きインスタンスと名前なしインスタンスへの接続方法がわからない場合、トラブルシューティング時間が大幅に増加する可能性があります。
したがって、名前付きバージョンまたは名前なしバージョンに接続する場合は、次のガイドラインを使用してください。
MY-MACHINE-NAME\SQLEXPRESS /* named version - correct */
MY-MACHINE-NAME /* unnamed version (default instance) - correct */
MY-MACHINE-NAME\MSSQLSERVER /* unnamed version (default instance) - Wrong */
デフォルトのインスタンスには名前がありますが、その名前で参照することはできません!
最良の理由の1つは、データベースの分離です。独自のアプリケーションを開発し、それを使用してSQL Expressをパッケージ化する場合は、独自のインスタンスにインストールするのが理にかなっています。さらに、既存のSQLインストールを指定するオプションをユーザーに提供します。
他のユーザーがアクセスできないようにする必要がある重要なデータベースがある場合、非常に限定されたセキュリティ認証でそれが独自のインスタンスに入ることができます。それがあなたの製品データベースであるとしましょう。そして、それは同じサーバー上のレポート用データベースに複製されます**。ユーザー(管理者)が本番インスタンスのセキュリティグループを実際に更新できるユーザーを少数に制限することで、ユーザーが本番DBに誤ってアクセスする可能性は低くなります。
**レポートサーバーを別のマシンにすることをお勧めしますが、例としてこれを行っています。