ごとに:
http://blogs.msdn.com/b/dataaccesstechnologies/archive/2012/08/09/error-quot-the-underlying-provider-failed-on-open-quot-in-entity-framework-application .aspx
新しいサーバーなどの権限の問題である可能性があります
解決策 1:
既存の接続文字列で「user Instance=true」を削除すると機能します。
問題の考えられる原因は次のとおりです。
ユーザーが必要な権限を持っていないため、ユーザー インスタンスはデータベースを接続できません。ユーザー インスタンスは、通常の SQL Server サービス アカウントではなく、接続を開いたユーザーのコンテキストで実行されます。ユーザー インスタンス接続を開いたユーザーには、接続文字列の AttachDbFilename オプションで指定された .mdf および .ldf ファイルに対する書き込みアクセス許可が必要です。
もう 1 つの一般的な問題は、データベースが SQL Server Express インスタンスにアタッチされている場合はデータベース ファイルを正常に開くが、Visual Studio IDE から開こうとすると失敗する場合です。これは、IDE が Windows アカウントとして実行されているときに、SQL Server Express インスタンスが "NT AUTHORITY\NETWORK SERVICE" として実行されているために発生する可能性があります。したがって、アクセス許可が機能しない場合があります。
この問題のバリエーションは、ユーザー インスタンス接続を開くユーザーがデータベース ファイルに対する読み取り権限を持っているが、書き込み権限を持っていない場合です。データベースが読み取り専用で開かれているというメッセージが表示された場合は、データベース ファイルの権限を変更する必要があります。
ユーザー インスタンスに関するもう 1 つの主な問題は、SQL Server がデータベース ファイルを排他アクセスで開くために発生します。これは、SQL Server がメモリ内のデータベース データのロックを管理するために必要です。したがって、複数の SQL Server インスタンスで同じファイルが開かれていると、データが破損する可能性があります。2 つの異なるユーザー インスタンスが同じデータベース ファイルを使用する場合、一方のインスタンスがファイルを開く前に、もう一方のインスタンスがファイルを閉じる必要があります。データベース ファイルを閉じるには、次の 2 つの一般的な方法があります。
ユーザー インスタンス データベースには Auto Close オプションが設定されているため、データベースへの接続が 8 ~ 10 分間ない場合、データベースはシャットダウンされ、ファイルは閉じられます。これは自動的に行われますが、接続に対して接続プールが有効になっている場合は特に、時間がかかることがあります。
sp_detach_db を呼び出してインスタンスからデータベースをデタッチすると、ファイルが閉じます。これは、IDE がユーザー インスタンスを切り替えるときに、Visual Studio がデータベース ファイルを確実に閉じるために使用する方法です。たとえば、IDE を使用してデータ対応の Web ページを設計しているとします。F5 キーを押して、アプリケーションを実行します。ASP.NET がデータベース ファイルを開くことができるように、IDE はデータベースを切り離します。データベースを IDE に接続したままにしてブラウザから ASP ページを実行しようとすると、ファイルがまだ IDE で使用されているため、ASP.NET はデータベースを開くことができません。