-3

私のaspアプリケーションで次のエラーが発生しています。

Microsoft OLE DB Provider for SQL Server エラー '80004005'

ログインで要求されたデータベース「mydb」を開けません。ログインに失敗しました。

ユーザーがデータベースに対する権限を持っていること、およびその資格情報が正しいことを確信しています。

私は行き止まりにあり、他に何を試すべきかわかりません...

4

2 に答える 2

1

ログインの既定のデータベース、または接続文字列で明示的に言及されているデータベースがオフラインであるか、存在しないようです。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';
于 2012-07-10T12:48:55.303 に答える
0

この問題を解決するには、次の条件が満たされていることを確認してください。

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 で実行している場合、そのプロジェクトのパスワード同期オプションはオフになっています。

https://support.microsoft.com/en-in/kb/306586

于 2016-10-19T06:17:18.057 に答える