web-dev-qa-db-ja.com

SQL Server接続文字列の「初期カタログ」のポイントは何ですか?

私が見たSQL Serverの接続文字列はすべて次のようになります。

Data Source=MyLocalSqlServerInstance;Initial Catalog=My Nifty Database;
    Integrated Security=SSPI;

初期カタログ設定は必要ですか? (どうやら、私が取り組んでいるアプリはそれなしで動作しているようだからです。)

それでは、何のためですか?

82
Ryan Lundy

接続文字列に含まれるユーザー名が複数のデータベースにアクセスできる場合、接続文字列を接続するデータベースを指定する必要があります。ユーザーが使用できるデータベースが1つしかない場合は、問題ではないことは正しいです。ただし、これを接続文字列に含めることをお勧めします。

48
Avitus

これは、接続時のデータソースの 初期データベース です。

わかりやすくするために編集しました

SQL Serverインスタンスに複数のデータベースがあり、デフォルトのデータベースを使用したくない場合は、使用するデータベースを指定する方法が必要です。

33
Andy West

初期カタログを設定すると、その接続で実行されるクエリがデフォルトで使用するデータベースを設定できます。複数のデータベースが存在するサーバーへの接続にこれを設定しない場合、多くの場合、クエリを実行しようとしているデータベースを明示的に宣言するために、すべてのクエリにUSEステートメントが必要になります。初期カタログ設定は、デフォルトのデータベースを明示的に宣言するための良い方法です。

12
jliles