web-dev-qa-db-ja.com

データベースへの接続が失敗するのはなぜですか?

Microsoft SQL Server 2008 R2で発生している問題の原因の診断に問題があります。

データベースに接続するC#.netで記述されたアプリケーションがあります。

時々、アプリケーションはこのエラーをスローします:

Cannot open database "<database name>" requested by the login. The login failed.
Login failed for user '<user name>'.

Web.configの接続文字列からログイン情報をコピーして貼り付けることで、SQL Server Management Studioを介してデータベースに正常に接続できます

SQL Serverログを見ると、次のエラーが発生しています。

Source      Message

Logon       Login failed for user '<user name>'. Reason: Failed to open the explicitly specified database.
Logon       Error: 18456 Severity: 14 State: 38.

そのエラーコードをオンラインで検索しても、解決策はありません。 SQL Serverプロファイラを使用してトレースを実行し、問題が発生するまで待つことをお勧めします。

トレースを実行したところ、エラーが発生するたびに次のことが発生していることに気づきました(プライバシー上の理由から、一部の行は削除されています。クリックすると拡大します)。

sql trace

最後の項目が発生すると、次のエラーメッセージが開きます。

Failed to read trace data

SQL Server Management StudioのSQL Serverエージェントジョブツリーを調べたところ、そこに作成したものの使用していないジョブがあることに気付きました。それらを削除しましたが、まだエラーが発生します。

残っている唯一の仕事は:

  • syspolicy_purge_history

ある程度は必要だと思います。

誰もがこの問題を修正する方法を知っていますか?問題を見つけて解決するには、どのような手順を実行できますか?

詳細なバージョン情報

Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)   Jun 28 2012 08:36:30   Copyright (c) Microsoft Corporation  Web Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) 
2
user1886419

最後の行に表示されるエラーは、常に同じジョブのセットが先行していますか、それともエラーは別の場所で発生していますか?

私はこの30分間、これについて考えてきました。このサーバーのネットワークに関する既知の問題はありますか? VMWareのネットワークスタックが不安定になり、接続が切断されるという、このような状況を見てきました。しかし、SQLボックスにエラーが表示されているため、これは意味がありません。

私はネットワーキングについて尋ねましたが、それについても反駁することができます。これは難しい問題です。

上記の仕事が原因である場合、私は彼らが何をしているかを確認して、何が起こっているのかを確認する必要があります。

1
ACDBA