Windows 7ベータ版を使用していて、ローカルにWebアプリケーションをインストールしようとしています。このWebサイトはMicrosoft SQL Server 2005 Express(SQLEXPRESS)およびWebサイトの〜/ App_Dataフォルダー内のMDBファイルを使用します。このWebアプリケーションにClassic .NET AppPoolを使用するようにIIS7を構成するように指示されました。
Webサイトが読み込まれるたびに、次のエラーが表示されます。
データベースサーバーに接続しようとしてエラーが発生しました:ユーザーのローカルアプリケーションデータパスの取得に失敗したため、SQL Serverのユーザーインスタンスを生成できませんでした。ユーザーがコンピューターにローカルユーザープロファイルを持っていることを確認してください。接続は閉じられます。
インターネットには、この主題に関する記事が満載です。支配的な知恵は次のようです:
これらの修正はどちらも影響を与えていません。私は何時間も権限と設定をいじくり回して、役に立たなかった。誰かが修正を提案したり、問題の詳細情報を取得する方法を理解したりできますか?.
IIS Windows 7では、アプリケーションプールを選択し、[詳細設定]を選択します。[プロセスモデル]で[ユーザープロファイルの読み込み]を見つけて、trueに設定します。
これで、SQLがデフォルトのアプリプールアカウントでロードされます。
ブライアン、
これがすべて理にかなっているために、まず、タスクマネージャーのすべてのユーザーのプロセスリストを確認します。
w3wp.exeは新しいWWWワーカープロセスです。 DefaultAppPoolと呼ばれるユーザーの権限を使用して、セキュリティサンドボックスで実行されます。
昔は、DefaultAppPoolユーザーの代わりに、IUSRユーザーとIWAMユーザーでした( IISのIUSRアカウントとIWAMアカウントは何ですか? を参照)。
SQLメンバーシッププロバイダーを使用すると、w3wp.exeプロセスはSQL Serverユーザーインスタンスを開始し、接続文字列で指定されたデータベース(通常はApp_Data/ASPNETdb.mdf)にアタッチします。 SQL Serverのユーザーインスタンスを実行するには、一時ファイルがどこかに移動できるように、ローカルプロファイルが必要です。
トラブルシューティングの手順:
exec sp_configure 'user instances enabled'
sp_configure 'user instances enabled', 1
その後:再構成SELECT
owning_principal_name, instance_pipe_name, heart_beat
FROM
sys.dm_os_child_instances
ワークステーションでも同じ問題が発生しましたが、サーバーでは発生していません。
これは一時的にウェブで見つけた一時的な修正で、うまくいくようです:
クエリエディターで次のように入力します:exec sp_configure 'user instances enabled'、1then:Reconfigure
次に、SQL Serverデータベースを再起動します。
これが見つかりました link 今日
そしてStackOverflowでクイック検索した後 https://stackoverflow.com/questions/281500/error-failed-to-generate-a-user-instance-of-sql-server