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的进程

posted on 2012-10-15 13:52  wyh0801  阅读(1514)  评论(0编辑  收藏  举报

导航