处理方法:
  法一:
  --连接窗口2
  begin tran
  select * from ta with (nolock)--用nolock:业务数据不断变化中,如销售查看当月时可用。
  法二:
  阻塞2(索引):
  处理方法: 加索引
  create index IX_Ta_Col1 on Ta(Col1)--用COl1列上创索引,当更新时条件:COl1=102会用到索引IX_Ta_Col1上得到一个排它键的范围锁
----------------------------连接窗口1 -------------------------------------------------
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
--针对会话设置了 TRANSACTION ISOLATION LEVEL
--SERIALIZABLE 幻影读、不可重复读和脏读都不允许
begin tran
update ta set col2='BB' where COl1=102
--rollback tran
-----------------------------连接窗口2------------------------------------------------
begin tran
select * from ta
  法三:设置当前查询隔离级别
  -----------------------------连接窗口2------------------------------------------------
  SET TRANSACTION ISOLATION LEVEL READ COMMITTED --设置会话已提交读:指定语句不能读取已由其他事务修改但尚未提交的数据
  begin tran
  select * from ta
  1、事务要尽量短
  --查看死锁牺牲品
  SELECT  '进程ID[SPID]' = STR(a.spid, 4)
  , '进程状态' = CONVERT(CHAR(10), a.status)
  , '分块进程ID' = STR(a.blocked, 2)
  , '服务器名称' = CONVERT(CHAR(10), a.hostname)
  , '执行用户' = CONVERT(CHAR(10), SUSER_NAME(a.uid))
  , '数据库名' = CONVERT(CHAR(10), DB_NAME(a.dbid))
  , '应用程序名' = CONVERT(CHAR(10), a.program_name)
  , '正在执行的命令' = CONVERT(CHAR(16), a.cmd)
  , '累计CPU时间' = STR(a.cpu, 7)
  , 'IO' = STR(a.physical_io, 7)
  , '登录名' = a.loginame
  , '执行sql' = b.text
  FROM    master..sysprocesses a CROSS APPLY
  sys.dm_exec_sql_text(a.sql_handle) b
  WHERE   blocked <> 0
  ORDER BY spid
  --查看进程运行状况
  SELECT  '进程ID' = STR(spid, 4)
  , '进程ID状态' = CONVERT(CHAR(10), status)
  , '分块进程ID' = STR(blocked, 2)
  , '工作站名称' = CONVERT(CHAR(10), hostname)
  , '执行用户' = CONVERT(CHAR(10), SUSER_NAME(uid))
  , '数据库名' = CONVERT(CHAR(10), DB_NAME(dbid))
  , '应用程序名' = CONVERT(CHAR(10), program_name)
  , '正在执行的命令' = CONVERT(CHAR(16), cmd)
  , '累计CPU时间' = STR(cpu, 7)
  , 'IO' = STR(physical_io, 7)
  , '登录名' = loginame
  FROM    master..sysprocesses
  --where blocked = 0
  ORDER BY spid
  --blocked = 0表示没有阻塞的进程ID;
  --查询锁类型
  select 进程id=a.req_spid
  ,数据库=db_name(rsc_dbid)
  ,类型=case rsc_type when 1 then 'NULL 资源(未使用)'
  when 2 then '数据库'
  when 3 then '文件'
  when 4 then '索引'
  when 5 then '表'
  when 6 then '页'
  when 7 then '键'
  when 8 then '扩展盘区'
  when 9 then 'RID(行 ID)'
  when 10 then '应用程序'
  end
  ,对象id=rsc_objid
  ,对象名=b.obj_name
  ,rsc_indid
  from master..syslockinfo a left join #t b on a.req_spid=b.req_spid