質問: 10 ``` 私はアプリケーションのセットアップ中にSQL Server LocalDBのインストールを行います。このコマンドで実行される`SqlLocalDB`インスタンスの作成と起動についても`SqlLocalDB`です。 ``` SqlLocalDB.exe create "SqlLocalDBInstance" SqlLocalDB.exe start "SqlLocalDBInstance" ``` このアプリは約50台のPCで正常に動作しますが、次の2台で失敗します。 最初は、アプリケーションとデータベースとの通信は成功しましたが、しばらくしてからアクティビティがない場合、インスタンスは自動的に停止し(約10分後)、再接続に失敗し、次のエラーが発生します。 > SQL Serverのインストールが破損しているか、不明なパッケージIDが改ざんされています。 > > 上記の同じコマンドラインを使用してLocalDBインスタンスを手動で起動する場合: ``` SqlLocalDB.exe start "SqlLocalDBInstance" ``` 次回にLocalDBインスタンスが停止するまで、アプリケーションはDBと正常に通信します。 Windowsログに次のエラーが表示されます。 > Windows API呼び出しWaitForMultipleObjectsがエラーコード:575を返しました。 > Windowsシステムのエラーメッセージは次のとおりです。{アプリケーションエラー}アプリケーションを正しく起動できませんでした(0x%lx)。 OKをクリックしてアプリケーションを終了します。 > > SQL LocalDBログファイルは、この通知メッセージを提供しました: > RANUインスタンスは、内部タイムアウトに応答して終了しています。これは通知メッセージです。ユーザーの操作は必要ありません。 > > Microsoft SQL Server 2014 Expressと`.mdf`および`.ldf`ファイルの両方をインストールしてもう一度インストールし直しても、同じエラーが発生します。 問題のあるマシンでもUACがオフになっていることがわかりました。 UACをオフにしてテストマシンで問題を再現しようとしましたが、問題の再現はありませんでした。 問題の2つのマシンはWindows 10 pro 64bitで動作します。 最後に、さらに調査した結果、アプリケーションフォルダの名前を変更するか、場所を変更することで回避策が見つかりました。 どのように私は解決策を認識した? 私は "C:\ Program Files(x86)"の外にアプリケーションフォルダ全体(すべてのバイナリを含む)を再配置しました "C:\"パス内の他のディレクトリに移動し、問題が解決しました。 同様に、アプリケーションフォルダを元の場所に戻しました。今私は アプリケーションフォルダの名前、そしてそれは再び働いた。 たぶん、問題は何とかディレクトリのアクセス許可に関連しています。 それにもかかわらず、私は以下の手順を実行しましたが、成功しませんでした: 1. フォルダの属性の[読み取り専用]オプションのチェックを外しました。 2. アプリケーションフォルダのすべての「セキュリティ」権限を有効にしました。 注:私はあらゆる種類のカスタムポリシーを備えた組織ドメインで働いています... 私の次は、ユーティリティツールを使用してアプリケーションフォルダのすべての権限を抽出し、問題の根本を追跡しようとしています。あなたに私のためにいくつかのツールを提案できますか?
回答: ついに私は問題の根本を見つけた。 この問題は、アプリケーションの実行可能ファイルの互換モードで、「このプログラムを互換モードで実行する:Windows 8」(ファイルの[プロパティ]の[互換性]タブ)に設定されていました。 このオプションを削除(チェックを外した状態)した後は、エラーはなくなり、問題は最終的に私のために閉じられました。