SQL Server数据库的数据表无法查询!!解决方案
今天在处理sql server2008数据库中的数据表时,不知道进行了何种操作,造成了一个数据表不能查询,运行查询操作,就提示如下错误:
错误分析:可能是错误操作导致该数据表成为了死锁
解决方法:通过sp_who命令,查看所有正在运行的sql server的进程,通过Kill 命令杀掉相关的进程
杀掉进程后,再进行查询就OK了!
注释:1.sp_who的用法:
A. 列出全部当前进程
此示例使用没有参数的 sp_who 报告所有当前用户。
sp_who
下面是结果集:
spid ecid status loginame hostname blk dbname cmd ---- ---- ------ ------------ -------- --- ------ ----- 1 0 background sa 0 pubs LAZY WRITER 2 0 sleeping sa 0 pubs LOG WRITER 3 0 background sa 0 master SIGNAL HANDLER 4 0 background sa 0 pubs RA MANAGER 5 0 background sa 0 master TASK MANAGER 6 0 sleeping sa 0 pubs CHECKPOINT SLEEP 7 0 background sa 0 master TASK MANAGER 8 0 background sa 0 master TASK MANAGER 9 0 background sa 0 master TASK MANAGER 10 0 background sa 0 master TASK MANAGER 11 0 background sa 0 master TASK MANAGER 51 0 runnable DOMAIN
\loginX serverX 0 Nwind BACKUP DATABASE 51 2 runnable DOMAIN
\loginX serverX 0 Nwind BACKUP DATABASE 51 1 runnable DOMAIN
\loginX serverX 0 Nwind BACKUP DATABASE 52 0 sleeping DOMAIN
\loginX serverX 0 master AWAITING COMMAND 53 0 runnable DOMAIN
\loginX serverX 0 pubs SELECT (16 row(s) affected)
B. 列出特定用户的进程
此示例显示如何通过登录名查看有关单个当前用户的信息。
sp_who 'janetl'
C. 显示所有活动进程
sp_who 'active'
D. 通过进程 ID 显示特定进程
sp_who '10' --specifies the process_id
2. kill 指定进程
kill 51;即杀掉进程号为51的进程