软件版本信息
sqlserver版本: MSSQL 2019
问题背景
工程师在sqlserver的表里新加了一列字段,表数据一共15w左右,但是select count(1) 怎么都查询不出来这张表的总数据,怀疑是新加字段导致了这个问题,很奇怪的现象。
解决方法
1.尝试查询进程并杀死
#查询卡死的进程
WITH CTE_SID ( BSID, SID, sql_handle )
AS ( SELECT blocking_session_id ,
session_id ,
sql_handle
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0
UNION ALL
SELECT A.blocking_session_id ,
A.session_id ,
A.sql_handle
FROM sys.dm_exec_requests A
JOIN CTE_SID B ON A.SESSION_ID = B.BSID
)
SELECT C.BSID ,
C.SID ,
S.login_name ,
S.host_name ,
S.status ,
S.cpu_time ,
S.memory_usage ,
S.last_request_start_time ,
S.last_request_end_time ,
S.logical_reads ,
S.row_count ,
q.text
FROM CTE_SID C
JOIN sys.dm_exec_sessions S ON C.sid = s.session_id
CROSS APPLY sys.dm_exec_sql_text(C.sql_handle) Q
ORDER BY sid
#杀死进程
kill sid
2.问题为解决,怀疑是表出了问题,所以还原数据库,新建了一张表,表里加了需要的新字段,然后把老的表数据重新灌进去,问题解决。