4

データベースを使用するアプリケーションが突然壊れました。調査を開始したところ、単純なカウント クエリが

SELECT count(uberdataid) FROM [Alexander].[dbo].[UberData]

SQL Server でエラーを作成します。

メッセージ 0、レベル 11、状態 0、行 0 現在のコマンドで重大なエラーが発生しました。結果がある場合は、破棄する必要があります

いくつかの考え:

  • エラーのスタック トレースを確認すると、EXCEPTION_ACCESS_VIOLATION があると表示されます。その例外の名前から、クエリにアクセス許可の問題がある可能性があると思います。しかし、多くの異なるユーザー アカウントでまったく同じエラーが発生します (以前は問題なく DB をクエリできました)。

  • SO ( Exception Access Violation in SQL ) に関するこの議論は、クエリが長引くレコード ロックにヒットしている可能性があると思わせますが、サーバーを再起動したので、そうではないようです。

オンラインの他の掲示板にも未解決の議論がいくつかあります。

何か案は?

Stackoverflow では (長すぎる) トレース全体を投稿することはできませんが、必要な場合は関連部分を投稿できます。トレースのどの部分を投稿するのが最も重要なのかわかりません。

4

1 に答える 1

3

これは SQL Server のバグのようです。EXCEPTION_ACCESS_VIOLATIONSQL Server 内のコードが "無効な" メモリにアクセスしようとしたことを意味します (たとえば、NULLポインターの逆参照)。SQL Server のセキュリティ設定とは関係ありません。

これはバグである可能性が高いですが、実行することをお勧めします

DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS, DATA_PURITY, NO_INFOMSGS

問題のデータベースで。SQL Server のバグを引き起こす破損がある可能性があります。

于 2012-07-16T20:40:38.167 に答える