マインドマップで提示遮断するプロセスで実装PCB SQL Serverデータベースの関係

            最近、会社のデータベースの同期機構ブロッキングが時折PCBエンジニアリングシステムスタック現象が生じ、頻繁に発生する、唯一の閉塞の原因を見つけるためにのみ障害物を排除するために、処分されますが、セッションを表示するには、データベースは、親子の会話のプロセスIDを表示し、二次元の表の途中でブロックされています明らかに、各セッションのプロセスIDの関係図を表示することは困難です。

例えば:それは私たちが前方に運転し、道路上の車のようなものだ、あなたの前に車をブロックし、交通渋滞の前で会ったが、車の後部に行ってきました、あなたは車の障害物の後ろでなければなりません。

それは、マインドマップへの完璧な方法は、ことを示すことができるならば、我々は非常に迅速に限り、ソースが開いたままに道を開いたとして、この図によって、はんだプラグの源を探していないことができます。

 

 他の関連するSQL文をブロックA.

 現在のデータベースのクエリがブロックされました:

選択 *  から sys.sysprocesses ブロックさ> < 0
SQLクエリは、実行状態の実装でセッションをブロック:
選択 *  から sys.sysprocesses SPID = 197

 すべてのDBライブラリを実行するためにセッションを遮断するクエリ

選択 *  から sys.sysdatabases DBID = 7 
たsql_handleハンドルによって実行されているテキストの内容を照会するSQL_TEXT SQL、SQLの内容:
SELECT  *  FROM :: FN_GET_SQL(0x0300FF7F587A2F063508ED005E9B000001000000

プロセスのセッションIDを削除します。

 KILL  197

 

 II。効果を示す工程マインドマップをブロック----

ショーによって示されるように、非常に明確にプロセスIDからプロセスをブロックするソース知っている[源:セッションIDデータベース全体をブロック536件の結果]

 

 三の.HTMLの実装コード

       echar百度と自宅を実装:( HTMLコード)は、データが実現することができます適用されます

 
 
 IV。プロセスデータソースをブロックします
       SQLデータ部分を通って取られた2
     1.EChartノードデータノード
     リレーショナルデータを関連2.EChartリンク
--查询当前数据库阻塞进程插入临时表
select * INTO #sysprocesses FROM  sys.sysprocesses where blocked<>0

--获取进程节点【数据给到EChart nodes】  
--将数据按3个等级分类,按实例图展示效果
SELECT  
'   {category:'+  (CASE WHEN PerentCount = 0 THEN '0' WHEN ChildCount > 0 THEN '1' ELSE '2' END)  +', name: '''+ CAST(spid AS VARCHAR(1000))  
+''', value : '+  (CASE WHEN PerentCount = 0 THEN '3' WHEN ChildCount > 0 THEN '2' ELSE '1' END) + '},' 
FROM
(
    SELECT  
        (SELECT COUNT(1) FROM #sysprocesses  WHERE blocked = t.spid) ChildCount
        ,(SELECT  COUNT(1) FROM #sysprocesses  WHERE spid = t.spid) PerentCount
        ,spid
    FROM 
    (
    SELECT spid spid
    FROM #sysprocesses
    UNION ALL 
    SELECT blocked spid
    FROM #sysprocesses
    ) t
    GROUP BY spid
) t


--获取节点之前的关连关系【数据给到EChart links】
SELECT '{source : '''+ CAST(spid AS VARCHAR(1000)) +''', target : '''+ CAST(blocked AS VARCHAR(1000))+''', weight : 1},' 
FROM #sysprocesses


drop table #sysprocesses

 

 

おすすめ

転載: www.cnblogs.com/pcbren/p/11210887.html