C#からデータベースにアクセスしようとすると、この例外が発生します。
私の接続文字列は
Data Source=(localdb)\v11.0;integrated security=true;User Instance = true;AttachDbFileName=C:\Users\UserName\Desktop\DB\TestDB3.mdf
例外は
SQL Serverのユーザーインスタンスに接続する場合、ユーザーインスタンスのログインフラグは許可されません。接続は閉じられます。
LocalDBインスタンスはすべて「ユーザーインスタンス」であり、接続文字列でUser Instance=true
を指定する必要はありません。実際、サポートされていません(ご覧のとおり)。この部分を削除するだけで問題なく動作します。
さらに情報を追加するだけです。これがうまくいかず、サーバーを見つけることができないというメッセージがまだ表示される場合。 applicationHostファイルのアプリケーションプールIDに次の2つの属性を設定する必要があります
<add name="DefaultAppPool">
<processModel identityType="NetworkService" loadUserProfile="true" setProfileEnvironment="true" />
</add>
この2つの属性は、アカウントがLocalDBサーバーを起動できるようにするために必要です。