数据库被卡住一天了,停止数据库服务停不了,kill进程提示事务回滚0%

mabailin 2017-11-27 01:49:28
被这个语句卡住了,这是什么东西
 SELECT
log.name

AS [Name],
log.principal_id AS [ID],
ISNULL(ak.name

,N'') AS [AsymmetricKey],
ISNULL(cert.name

,N'') AS [Certificate],
ISNULL(c.name

,N'') AS [Credential],
CASE WHEN N'U' = log.type THEN 0 WHEN N'G' = log.type THEN 1 WHEN N'S' = log.type THEN 2 WHEN N'C' = log.type THEN 3 WHEN N'K' = log.type THEN 4 END AS [LoginType]
FROM
sys.server_principals AS log
LEFT OUTER JOIN master.sys.asymmetric_keys AS ak ON ak.sid = log.sid
LEFT OUTER JOIN master.sys.certificates AS cert ON cert.sid = log.sid
LEFT OUTER JOIN sys.credentials AS c ON c.credential_id = log.credential_id
WHERE
(log.type in ('U', 'G', 'S', 'C', 'K') AND log.principal_id not between 101 and 255 AND log.name

<> N'##MS_AgentSigningCertificate##')
ORDER BY
[Name] ASC
...全文
720 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2017-11-28
  • 打赏
  • 举报
回复
如果是这样的话,sql重新启动,估计还简单些
文盲老顾 2017-11-28
  • 打赏
  • 举报
回复
select spid,kpid,blocked,s.text,waittime,cpu,sp.dbid,cmd,db_name(sp.dbid) as dbname,lastwaittype,waittype,waitresource,status from sys.sysprocesses sp outer apply sys.dm_exec_sql_text(sp.sql_handle) s where blocked>0 and spid<>blocked order by cmd,1
用这个语句看看到底哪个进程卡的?
Q315054403 2017-11-27
  • 打赏
  • 举报
回复
"停止数据库服务停不了" 重启OS吧
OwenZeng_DBA 2017-11-27
  • 打赏
  • 举报
回复
http://blog.csdn.net/z10843087/article/details/76040459 参考我博客中的语句,查看下真正阻塞的源头吧
吉普赛的歌 2017-11-27
  • 打赏
  • 举报
回复
SELECT [Spid] = session_Id, ecid, [Database] = DB_NAME(sp.dbid),
 [User] = nt_username, [Status] = er.status, 
 [Wait] = wait_type, 
 [Individual Query] = SUBSTRING(qt.text, er.statement_start_offset / 2, (CASE WHEN er.statement_end_offset = - 1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) 
                      * 2 ELSE er.statement_end_offset END - er.statement_start_offset) / 2),
                       [Parent Query] = qt.text, 
                       Program = program_name, Hostname, 
                       nt_domain, start_time
FROM    
     sys.dm_exec_requests er INNER JOIN  sys.sysprocesses sp ON er.session_id = sp.spid 
     CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt
WHERE     session_Id > 50 /* Ignore system spids.*/ AND session_Id NOT IN (@@SPID)
先执行了看下具体还有哪些语句在运行
日月路明 2017-11-27
  • 打赏
  • 举报
回复
可以用sp_lock看看有哪些事务 kill spID杀掉 如果不清楚,把所有进程都kill掉
日月路明 2017-11-27
  • 打赏
  • 举报
回复
可能不是这个语句卡住了,而是数据库已经卡了,执行这条语句,该语句在等待事务,造成的假象
薛定谔的DBA 2017-11-27
  • 打赏
  • 举报
回复
确定是被这个卡住??这应该不会啊,再找找
Re: 《Linux 进程管理命令》   ---------------------------------------内容提要: 01/15)命令 ps         :查看进程(快照)02/15)命令 pstree   :显示进程状态树03/15)命令 pgrep   :查找匹配条件的进程04/15)命令 kill        :终止进程号(1277)05/15)命令 killall    :通过进程名(nginx)终止进程(父/子进程)06/15)命令 pkill      :通过进程名终止进程(通杀)/终止客户端(pst/tty)07/15)命令 top       :实时显示系统中各个进程的资源占用状况(录像)08/15)命令 nice      :调整程序运行时的优先级09/15)命令 renice   :调整运行中的进程的优先级10/15)命令 nohup  :用户退出系统,进程继续工作11/15)命令 strace   :跟踪进程的系统调用12/15)命令 ltrace    :跟踪进程调用库函数13/15)命令 runlevel:输出当前运行级别14/15)命令 init        :初始化 Linux 进程15/15)命令 service  :管理系统服务  本人在教学和实战过程中发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作中,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。 对一个士兵来说,枪就是他的武器,对于一个程序员来说,各种library(工具库)就是他的武器;而对于Linux运维人员来说,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。 研磨每一个命令就是擦拭手中的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手中的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功! 本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题中来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。 本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学中就不再赘述! 《参透 VMware 桌面级虚拟化》 《在虚拟机中安装模版机(包括应用软件等)》 《SecureCRT 连接 GNS3/Linux 的安全精密工具》

22,209

社区成员

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

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