2011-11-03 10 views
7

SQL Server 2008 R2 Enterpriseデータベースには、vw_Usersというビューがあります。SQLドロップビューステートメントは永遠に完了します

-running(vw_usersから選択*)は完了するまでに1秒以下かかります。

- ビュー内でSQLを実行すると、完了までに1秒以下かかります。

-Running(ドロップビューvw_Users)はハングアップしており、実際には完了しません。私はそれをキャンセルする前に約10分間走らせます。

SQL Serverエージェントを再起動してから再試行しましたが、まだ発生しています。

これはまったく新しい問題です。このサーバーとこのデータベースは1年以上にわたって正常に動作しています。

ビューにはインデックスがありません。私は問題が何であるか分かりませんが、どんな助けも非常に高く評価されます。

答えて

14

誰かや何か

おかげで、そのビューにアクセスするオープンな接続を持って、あなたはブロックされています。

あなたはその後、SSMSのランニング中に別のウィンドウでは、あなたのDROPを開始することでこれを確認することができます

sp_who2 active

あなたのSPIDを持つ行が表示されるはず、とblocked_byフィールドは、別のSPID番号を持っていますそれ。そのspidを見つけて、何があなたをブロックしているのか見てみましょう。 xはブロッキングプロセスのSPIDです

kill x

...:

それが安全にプロセスを手動で閉じたり、実行SSMSの中からいずれか、終了することができます。

+0

これを行う他の人のために。私はこれを追跡し、私をブロックしていたが、テーブルでそれを見つけることができませんでしたSPID番号を発見した。 'sp_who2'を入力するだけで、私にとってブロッキングSPIDを持つ長いリストが提供されます –

+0

優れています。関連するC#アプリケーションでブレークポイントを実現することを無視して、ALTER VIEW操作をブロックした原因がALTER VIEWにしようとしていました。 _ProgramName_列は、_.Net SqlClientデータプロバイダーの値のヒントを示しました。 – bvj

関連する問題