タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

ロックとsqlに関するichiropのブックマーク (4)

  • SQLServerProfilerでデッドロックの図示 - レベルエンター山本大のブログ

    現場で、デッドロックが発生してその対処をしている。 RDBMSによって分析・対処の方法は異なるが、今回はSQLServer2005で行った。 SQLServer2005およびSQLServerProfilerの強力さを改めて思い知った。 デッドロックの検知 デッドロックが発生したことは、アプリケーションのExceptionで判明したのだが、 具体的にどの操作と、どの操作が関連しているか調べなくては再現ができない。 それを調べるために、SQLServerのエラーログにDeadLockの情報をトレースする仕組みがある。 以下のトレースフラグ「1204」と「3605」をOnにするのだ。 トレースフラグ:1204 デッドロックに関係しているロックのリソースと種類、および影響を受けている現在のコマンドを返します。デッドロック検出アルゴリズムによってデッドロックが検出された場合に、プロセスとリソースに

    SQLServerProfilerでデッドロックの図示 - レベルエンター山本大のブログ
  • デッドロックが起こる理由について教えてください - Database Expert会議室

    はじめまして。いつも拝見させて頂いております。 SQLServer2005の学習を1か月ほどの初心者です。 データベースのデッドロックが発生したのでMSDNを見ながら調べていたのですが、質問させてください。 開発中のテストアプリケーションがあるのですが、AとBのスレッドが同時実行して以下のDBアクセスを行っています。 A: ①Select * From TestTable WITH(ROWLOCK,UPDLOCK) Where TestCulm1 = 'A' ②Select * From TestTable Where TestCulm1 = 'A' ③UPDATE TestTable SET TestCulm2 = 1 WHERE TestCulm1 = 'A' B: ①UPDATE TestTable SET TestCulm2 = 1 WHERE TestCulm1 = 'B' テー

  • SQL Serverで「デッドロック」を回避する

    ロックの仕組み(その2)-オブジェクトのロックタイプ 前回「第27回 トランザクションの一貫性を保証するロック」は、トランザクションの4つの分離レベルの説明をしました。今回は、この分離レベルを実現するデータベースサーバのロック機構に触れてみましょう。実際にどのような仕組みでデータベースサーバがロック制御を行っているかを理解することで、トランザクション機能を利用した際に起こりやすい問題点を、あらかじめ予測できるようになると思います。 今回は、初めに、ロックの状態を取得するシステムストアドプロシージャ「sp_lock」の定義を若干拡張した「sp_lock_detail」ストアドプロシージャを作成しましょう。

    SQL Serverで「デッドロック」を回避する
  • トランザクションの一貫性を保証するロック

    ロックの仕組み 第25回、26回と2回にわたりトランザクションの話をしてきました。第25回でも簡単に触れましたが、トランザクションの一貫性を保証するために、データベースサーバはロックという仕組みを利用しています。今回と次回にわたって、このロックの仕組みについて解説することで、トランザクションの裏側を解明したいと考えています。 では早速、例題を実行しながら、SQLの確認をしていきましょう。 トランザクション中の最新データを確認する 初めに、第25回で実行した例題1と同じような例題を実行してみましょう。第25回の例題1は、1人のユーザーがデータを更新中には、もう1人のユーザーはデータの参照ができないことを確認する例題でした。第25回の例題と同様に、2つのクエリアナライザを起動して、片方はログイン名「sa」で、もう片方はログイン名「yamada」でログインをします。 では、まず例題1でログイン名

    トランザクションの一貫性を保証するロック
  • 1