テスト用に、WinServer2012R2とSQL Server Express 2016を10日以上前にインストールしました。私はこのマシンの唯一のユーザーです。SQL Server 2005の.bakが250MB以下のデータベースは問題なく復元されます。マシンの再起動後、プロセス「SQL Server NT-64ビット」は0%のCPUを使用します。
数分または数時間後、SSMSのCPU使用率 "SQL Server NT-64ビット"からの単純なクエリ(更新/挿入なし!)が突然15%に急上昇し、アイドル状態でもそこにとどまります。その時点から、通常1秒もかからないクエリは、突然2分かかります。実際のクエリ中、CPU使用率は増加しません。この状態では、サーバーは実質的に使用できなくなります。
SQL Serverプロファイラーの接続のみに30秒以上かかります。自分のクエリ以外に、SQLServerCEIP / SQLTELEMETRYからのクエリはごくわずかしかありません(1分あたり最大3つ)。
SQL-Serverを再起動しても解決しません。CPU使用率は15%に戻ります。時間後でもSQL-Serverは回復しません。マシン全体を再起動するだけで問題が解決します。
これは「すぐに使える」インストールなので、小さなデータベースしかなく、クエリはほとんどなく、ユーザーとしての私だけで、おそらくロックはありません。通常のSQL-Serverパフォーマンスの問題に関する多くの記事は、多くのことについて語っていますここでは実際には適用されません。SQL-Serverはようだ独占的にいくつかの内部タスクに集中したいです。
これは、2 GBのRAMと2 GHzのデュアルXeonを備えた仮想マシンです。私はそれにVS2016も搭載しており、非常に高速です。ウイルス対策も、Windows Defenderもありません。もうここで遅れました。明日はsp_whoisactiveを試します。SQL-Serverは何をしているのだろうと本当に思っています... 1 GBの以前のマシンでは、同じDBがSQLServer2005の下で10年間問題なく動作しました...
私はSQLプロファイラーのエキスパートではありません。どこから探したらいいですか?
auto_update_statistics_async
をオンにした場合の2005年の同様の動作を思い出します。