私のaspアプリケーションで次のエラーが発生しています。
Microsoft OLE DB Provider for SQL Server エラー '80004005'
ログインで要求されたデータベース「mydb」を開けません。ログインに失敗しました。
ユーザーがデータベースに対する権限を持っていること、およびその資格情報が正しいことを確信しています。
私は行き止まりにあり、他に何を試すべきかわかりません...
私のaspアプリケーションで次のエラーが発生しています。
Microsoft OLE DB Provider for SQL Server エラー '80004005'
ログインで要求されたデータベース「mydb」を開けません。ログインに失敗しました。
ユーザーがデータベースに対する権限を持っていること、およびその資格情報が正しいことを確信しています。
私は行き止まりにあり、他に何を試すべきかわかりません...
ログインの既定のデータベース、または接続文字列で明示的に言及されているデータベースがオフラインであるか、存在しないようです。mydb
実際にオンラインでアクセス可能な別のログイン (sa または管理者など) を使用して、別のツール (Management Studio など) を確認しましたか? 以下を使用してデータベースの状態を確認しましたか?
SELECT state_desc FROM sys.databases WHERE name = N'mydb';
? データベースは自動クローズに設定されていますか? このログインでこのデータベースに接続できたことはありますか? 前回はいつですか?
確認することがたくさん。
データベースがオンラインであることはわかっています。次に、ログインに実際にデータベースにユーザーが含まれていることを確認しましょう。このクエリは結果を返しますか?
SELECT * FROM sys.server_principals AS s
INNER JOIN mydb.sys.database_principals AS d
ON s.sid = d.sid
WHERE s.name = N'your_login_name';
この問題を解決するには、次の条件が満たされていることを確認してください。
Windows NT アカウントは、SQL アカウントにマップされます。
接続文字列のユーザー ID は有効で、空白ではありません。
SQL Server Enterprise Manager で標準セキュリティを設定します。SQL Server 標準セキュリティを実装するには、次の手順に従います。
SQL Enterprise Manager から、[サーバー マネージャー] ウィンドウに表示される SQL Server 名を右クリックし、[プロパティ] をクリックします。(SQL Server バージョン 6.5 の場合は、[構成] をクリックします)。[セキュリティ オプション] をクリックし、[標準および Windows] をクリックします。(SQL Server バージョン 6.5 の場合は、[標準] をクリックします)。Microsoft Internet Information Server (IIS) 4.0 で実行している場合、そのプロジェクトのパスワード同期オプションはオフになっています。