<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      知方可補不足~用SqlProfiler來監(jiān)視數(shù)據(jù)庫死鎖

      回到目錄

      關(guān)于鎖的相關(guān)知識,大家可以看我的這篇文章《知方可補不足~Sqlserver中的幾把鎖和.net中的事務(wù)級別

      死鎖我想大家都知道,當(dāng)一個對話(線程)占用一個資源時,別一個線程也同時去訪問它,并且其中一個優(yōu)化級高的對話將SQL鎖狀態(tài)提升為X鎖(排它鎖)后,其一個對話將會被作為“犧牲品”拋棄,這種現(xiàn)象在SQLSERVER中就叫做死鎖,引起死鎖的原因有很多,一般在網(wǎng)上被前人總結(jié)為四點

      1、互斥使用(資源獨占)
       一個資源每次只能給一個進(jìn)程使用
      2、不可強占(不可剝奪)
          資源申請者不能強行的從資源占有者手中奪取資源,資源只能由占有者自愿釋放
      3、請求和保持(部分分配,占有申請)
      一個進(jìn)程在申請新的資源的同時保持對原有資源的占有(只有這樣才是動態(tài)申請,動態(tài)分配)
      4、循環(huán)等待
      存在一個進(jìn)程等待隊列     {P1 , P2 , … , Pn},     其中P1等待P2占有的資源,P2等待P3占有的資源,…,Pn等待P1占有的資源,形成一個進(jìn)程等待環(huán)路

      觀察鎖的發(fā)生,使用sqlProfiler工具

      設(shè)置對話(線程,spid)的優(yōu)先級

      SET TRANSACTION ISOLATION LEVEL Read Committed
      BEGIN TRAN
      SET DEADLOCK_PRIORITY HIGH

      對于優(yōu)先級,以以下選項

       LOW | NORMAL | HIGH

      也可以直接使用數(shù)字

      <numeric-priority> ::= { -10 | -9 | -8 | …| 0 | …| 8 | 9 | 10 }

      在EF里,對發(fā)生死鎖的代碼進(jìn)行重新提交

      在EF架構(gòu)里,倉儲大叔提倡大家使用自己的SaveChanges方法,其原因就是可以對提交動作進(jìn)行統(tǒng)一的控制,在里面加日志,加捕捉,加策略可以成為可能,呵呵。

       //下面代碼節(jié)選自大叔的DbContextRepository類
        catch (EntityException ex)//EF配置異常,這個異常可以忽略(The underlying provider failed on Commit.)
                  {
                      if (Logger != null)
                          Logger(ex.Message);
                      throw new Exception(ex.Message);//EntityException
                  }
                  catch (Exception ex)//捕獲所有異常
                  {
      
                      if (Logger != null)//如果沒有定義日志功能,就把異常拋出來吧
                          Logger(ex.Message + "處理時間:" + DateTime.Now);
                      if (ex.GetBaseException() != null
                          && ex.GetBaseException().GetType() == typeof(System.Data.SqlClient.SqlException))
                      {
                          //SqlException異常,再重新進(jìn)行提交
                          Db.SaveChanges();
                      }
                      throw new Exception(ex.Message);
                  }

      回到目錄

      posted @ 2015-01-19 16:00  張占嶺  閱讀(1088)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品777| 亚欧洲乱码视频一二三区| 欧美日韩国产va在线观看免费| 邻居少妇张开腿让我爽了一夜| 俄罗斯老熟妇性爽xxxx| 精品一区二区三区少妇蜜臀| 国产成人一区二区三区视频免费| 日本欧美大码aⅴ在线播放| 中国亚州女人69内射少妇| 精品国产美女av久久久久| 亚洲视频欧美不卡| 苏州市| 精品人妻码一区二区三区| 久久精品一区二区三区综合| 色 亚洲 日韩 国产 综合| 四虎国产精品永久在线下载| 久久精品国产一区二区蜜芽| 免费无码AV一区二区波多野结衣| 极品尤物一区二区三区| 国产女人18毛片水真多1| 深夜福利国产精品中文字幕| 亚洲av日韩在线资源| 日韩精品区一区二区三vr| 久热这里只有精品视频3| 欧美中文字幕无线码视频 | 亚洲欧洲美洲无码精品va| 久99久热这里只有精品| 玩弄丰满少妇人妻视频| 无码av中文字幕免费放| 成人精品一区日本无码网| 秋霞人妻无码中文字幕| 国产精品青青在线观看爽香蕉| 宝山区| 亚洲欧美综合中文| 久久亚洲AV成人网站玖玖| 洪泽县| 成人中文在线| 亚洲AV永久无码精品秋霞电影影院| 遵化市| 亚洲男人的天堂久久香蕉| 国产在线无码视频一区二区三区|