mssql锁表解除

来源:互联网 发布:在线域名查询 编辑:程序博客网 时间:2024/05/24 15:39
-- 查看锁状态select spid,       blocked,       loginame,       last_batch,       status,       cmd,       hostname,       program_name  from sys.sysprocesses where spid in (select blocked from sys.sysprocesses where blocked <> 0)    or (blocked <> 0)-- 终止进程 declare @spid  int  Set @spid  = 83 --锁表进程 declare @sql varchar(1000) set @sql='kill '+cast(@spid  as varchar) exec(@sql)

-- 查看语句-正在执行

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 ) -- Ignore this current statement.ORDER BY    1 , 2
-- 查看语句执行过信息

select * from sys.sysprocesses       where spid in (select blocked from sys.sysprocesses where blocked <> 0)          or (blocked <> 0)  ;SELECT TOP 1000        ST.text AS '执行的SQL语句',       QS.execution_count AS '执行次数',       QS.total_elapsed_time AS '耗时',       QS.total_logical_reads AS '逻辑读取次数',       QS.total_logical_writes AS '逻辑写入次数',       QS.total_physical_reads AS '物理读取次数',              QS.creation_time AS '执行时间' ,         QS.*FROM   sys.dm_exec_query_stats QS       CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) STWHERE  QS.creation_time BETWEEN '2016-08-05 15:00:00' AND '2016-08-05 17:00:00' ORDER BY QS.total_elapsed_time DESC 


0 0
原创粉丝点击