web-dev-qa-db-ja.com

Sqlservr.exeが動作を停止しました

Visual Studio 2015 Update 3をインストールしてから、次のエラーが発生します。これは、Visual Studio 2015が開いている場合にのみ発生し、ローカル管理者として実行しているかどうかに関係なく発生します。それは頻繁でイライラしますが、私がしている仕事には影響を与えていないようです。コード、サーバーエクスプローラー、VSはすべて正常に機能しますが、エラーメッセージがポップアップし、Microsoftエラー報告がプロセスでCPUの50%の使用率を長期間消費します。

誰かがこれを修正する方法を知っていますか?私はそれを解決するために何時間も費やしたくありません。

エラーメッセージ:

enter image description here

アプリケーションイベントログに次のように表示されます:

障害バケット126419871336、タイプ5イベント名:SQLException64応答:使用不可キャブID:0

問題のシグネチャ:P1:sqlservr.exe P2:0.0.0.0 P3:0000000000000000 P4:sqlmin.dll P5:2015.130.1601.5 P6:000000005724AE98 P7:-1073741819 P8:0000000000064BB2 P9:00000001D8D946AB P10:

添付ファイル:\?\ C:\ Users\m_f\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ProjectsV13\SQLDump0100.mdmp \?\ C:\ Users\m_f\AppData\Local\Microsoft\Microsoft SQLサーバーローカルDB\Instances\ProjectsV13\SQLDump0100.txt \?\ C:\ Users\m_f\AppData\Local\Microsoft\Microsoft SQLServerローカルDB\Instances\ProjectsV13\SQLDump0100.log \?\ C:\ ProgramData\Microsoft\Windows\WER\Temp\WERE021.tmp.WERInternalMetadata.xml

これらのファイルは次の場所から入手できます:C:\ ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_sqlservr.exe_7113a987f49ac660cb71f97cb4183ea19827ef0_00000000_0bd7e949

分析記号:ソリューションの再確認:0レポートID:3e38065a-5d62-11e6-89a7-97ade4354400レポートステータス:1ハッシュバケット:ff995718a61d049a3664662b84518798

そしてSQLログ:

プロセス49は、致命的な例外c0000005EXCEPTION_ACCESS_VIOLATIONを生成しました。 SQLServerはこのプロセスを終了しています。

また、既知の問題であるようです このMicrosoft KB記事 を参照してください。パッチが適用されていると書かれています。

私のシステムは、OS、パッチ、セキュリティ更新プログラム、Visual Studio更新プログラムなどに関して可能な限り最新ですが、それでも問題が発生します。うまくいけば、誰かが以前にこれを解決し、それを分類しようとするフラストレーションを私に救うことができます!

ありがとう

13
Murray Foxcroft

MicrosoftのMSDNフォーラムには、このクラッシュに関する継続的なスレッドがあります。

https://social.msdn.Microsoft.com/Forums/sqlserver/en-US/0c486ed7-9fdb-45f0-9fcd-342eadbb0476/sqlserverexe-crashing

どうやら、このクラッシュはSSDTの最新バージョン(14.0.60525.0)にアップグレードした後に発生します。

Microsoftの従業員は、これを修正として提案しました。

調査したところ、これはlocaldbサーバーの任意のデータベースでクエリストア機能が有効になっている場合に発生すると考えられています。この問題を回避するには、すべてのlocaldbデータベースインスタンスでクエリストア機能を無効にします。クエリストアが有効になっているデータベースの名前を見つけるには、次のクエリを実行します。

select [name] from sys.databases where is_query_store_on=1

次に、データベースごとに、次のようなクエリを実行してクエリストアを無効にします。

alter database DBNAME set query_store=off

これで問題が解決しなかったとの報告もあれば、修正したとの報告もあるため、成功は異なる場合があります。

以下のマイクロソフトの従業員KevinCunnaneのコメントを参照してください。

修正されたLocalDB.msiは、8月のリリースに含まれています。msdn.Microsoft.com/ en-us/library/mt204009.aspxから入手でき、Visual Studio Extensions andUpdatesチャネルを介して数週間以内に更新されます。

12
John Washam

LocalDbで、次のスクリプトを実行します

DECLARE @name VARCHAR(50) 
DECLARE @query VARCHAR(max)   


DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM  sys.databases 
WHERE is_query_store_on=1 and name NOT IN ('master','model','msdb','tempdb')  

OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   

WHILE @@FETCH_STATUS = 0   
BEGIN   

set @query = 'alter database  ['+ @name+']    set query_store=off'
      EXECUTE(  @query)

       FETCH NEXT FROM db_cursor INTO @name   
END   

CLOSE db_cursor   
DEALLOCATE db_cursor

これにより、すべてのデータベースの問題が修正されます

5
Mahdi Shahbazi

私はこれが古い投稿であることを知っていますが、VS 2017以降、問題は再び発生しているようです...少なくとも私の(SSDT)SQLデータベースプロジェクトでは...だから、これが他の誰かに役立つことを願っています。 。

受け入れられた答えは完全に機能しますが、かなり手動です。 Mahdiが提供するスクリプトにより、もう少し自動化されています。ただし、どちらの場合も、(ビルド/デプロイの設定によっては)(localdb)\mssqllocaldb(localdb)\projectsv1の両方のmasterデータベースでスクリプトを実行する必要がある場合があります。

さらに、問題は、F5を使用してビルドおよび実行するたびにプロパティが復元され続けることです。ただし、プロジェクトのプロパティページのDebugタブには、Deployという設定があります。データベースのプロパティ...この設定をクリア(チェックを外す)して、問題が再発しないようにします。

次の点に注意してください。a)これはDebugモードの場合のみです。 b)(localdb)の下のデータベースにのみ適用できます。

project properties page - debug tab

4
Peter-John