- 締切済み
DBロックに関して
SQLServerで、ユーザが定期的に行うタスクなどで、DBロックが起こることはあるのでしょうか。 統計情報更新やテーブル再編成等、ロックが起こりそうなのですが、 その辺りのところは、知識が未熟なためわかりません。 どなたか知っている方がいれば、ご教授頂けますでしょうか。 可能であれば、出来うる限りロックが発生するだろう状況を洗い出したいと思っています。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- O_cyan
- ベストアンサー率59% (745/1260)
回答No.1
聞いているのはデッドロックの事ですか。 通常ロックは排他制御をする際にどのようにかけるかとか考慮しますけど。そのロックの事ではないですね。 デッドロックは排他制御の不備が原因で起こるのがほとんどだと思います。 テーブル再編成などはデータベース止めて処理するのでロックは起きないと思いますが・。 ユーザーは突然変な事をしでかしますからね。困るものです。 複数のファイルにまたがる排他制御を行う時にAファイルをロックしてBファイルのロック解放を待っていて別のユーザがBファイルをロックしてAファイルのロック解放を待ち続けるみたいな処理が進まないという事態に陥る。 これがほとんどとは言いませんが同様の原因によるデッドロックが多いのではないでしょうか。 排他制御の仕方・プログラムの設計に問題がある場合に支障が出るのでそこをしっかりやれば大丈夫だと思いますけどね。
補足
ご回答ありがとうございます。 説明が拙いもので申し訳ございませんでした。 業務の都合上、ユーザがシステムを使用している時間帯に、定期的にDB管理タスク(統計情報更新・テーブル再編成等)を実行したいと思っています。 上記作業でなにか悪影響等はありますでしょうか? 私の考えるところではロック等が考えられると思ったのですが・・・。