SSMS是开启一个查询窗口就是开一个线程吗

删库到跑路 2017-12-04 10:44:41
查阻塞与死锁时看到一个问题!
开一个窗口来执行语句



又开一个窗口查不了(没有update,只有select.我杀线程之后,第一次查询事务回滚,求原因)
...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2017-12-04
  • 打赏
  • 举报
回复
引用 楼主 zy_and_zy 的回复:
查阻塞与死锁时看到一个问题! 开一个窗口来执行语句 又开一个窗口查不了(没有update,只有select.我杀线程之后,第一次查询事务回滚,求原因)
这个是因为之前开启了事务没有提交,它对表加了锁,,所以你在另外一个会话查询不到 你可以用下面的语句查询下,表锁的情况。就比较清楚了
select str(request_session_id,4,0) as spid,
convert(varchar(20),db_name(resource_database_id)) as db_name,
case when resource_database_id=db_id() and resource_type='object'
then convert(char(20),object_name(resource_associated_entity_id))
else convert(char(20),resource_associated_entity_id)
end as object,
convert(varchar(12),resource_type) as resrc_type,
convert(varchar(12),request_type) as req_type,
convert(char(3),request_mode) as mode,
convert(varchar(8),request_status) as status
from sys.dm_tran_locks
order by request_session_id,3 desc
shoppo0505 2017-12-04
  • 打赏
  • 举报
回复
你查不到数据因为是你没有commit,所以你开另外一个窗口的话,就查不到。 如果你在同一个窗口中查询,肯定能查到。 所以我不能理解,为什么认为查询不到就是因为线程的缘故。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧