SELECT DER.SESSION_ID ,
DER.COMMAND ,
CONVERT(VARCHAR(10),CONVERT(INT, DER.TOTAL_ELAPSED_TIME/1000)) + N'초' AS TOTAL_ELAPSED_TIME ,
ISNULL(DB.NAME,DER.DATABASE_ID) AS DATABASENAME ,
ISNULL(OBJECT_NAME(ST.OBJECTID, ST.DBID),'') AS OBJECTNAME ,
CASE
WHEN ENCRYPTED = 1
THEN N'Encrypted Text'
ELSE
(SELECT
TOP 1 SUBSTRING(ST.TEXT,STATEMENT_START_OFFSET / 2+1 , ((
CASE
WHEN STATEMENT_END_OFFSET = -1
THEN (LEN(CONVERT(NVARCHAR(MAX),ST.TEXT)) * 2)
ELSE STATEMENT_END_OFFSET
END) -STATEMENT_START_OFFSET)/2+1)
)
END AS SQL_STATEMENT ,
DER.LAST_WAIT_TYPE ,
DER.STATUS ,
DES.HOST_NAME ,
DES.LOGIN_NAME ,
DES.PROGRAM_NAME ,
DER.*
FROM SYS.DM_EXEC_REQUESTS AS DER
LEFT OUTER JOIN SYS.DATABASES AS DB
ON DER.DATABASE_ID = DB.DATABASE_ID OUTER APPLY SYS.DM_EXEC_SQL_TEXT(DER.SQL_HANDLE) AS ST
LEFT OUTER JOIN SYS.DM_EXEC_SESSIONS AS DES
ON DER.SESSION_ID = DES.SESSION_ID
WHERE DER.SESSION_ID > 50
AND DER.SESSION_ID != @@SPID
ORDER BY CONVERT(INT, DER.TOTAL_ELAPSED_TIME/1000) DESC ;
KILL 625
-----------------------------------------------------------
EXEC SP_LOCK
--Blocking하기있는세션자세히보기
EXEC SP_LOCK
SELECT *
FROM SYS.SYSPROCESSES
WHERE BLOCKED > 0
SELECT '블럭카운트: ' + CAST(CNT AS VARCHAR(10))
FROM ( SELECT COUNT(*) CNT
FROM SYS.SYSPROCESSES
WHERE BLOCKED <> 0
)
AS A;
WITH BLOCKING AS
( SELECT SPID,
BLOCKED,
CAST(SPID AS VARCHAR(100)) AS BLOCKTREE,
LEVEL = 0 ,
CAST(SPID AS VARBINARY(4000)) AS BLOCK_DEPTH
FROM MASTER.DBO.SYSPROCESSES
WHERE BLOCKED = 0
AND SPID > 50
AND SPID IN
(SELECT BLOCKED
FROM MASTER.DBO.SYSPROCESSES
WHERE BLOCKED <> 0
)
UNION ALL
SELECT DS.SPID ,
DS.BLOCKED ,
CAST(BC.BLOCKTREE + ' > ' + CAST(DS.SPID AS VARCHAR(100)) AS VARCHAR(100)) ,
LEVEL + 1 ,
CAST(BLOCK_DEPTH + CAST(DS.BLOCKED AS BINARY(4)) AS VARBINARY(4000))
FROM BLOCKING AS BC
INNER JOIN MASTER.DBO.SYSPROCESSES AS DS
ON DS.BLOCKED = BC.SPID
)
SELECT BC.BLOCKTREE AS [블럭TREE],
CONVERT(VARCHAR, DATEADD(S ,SP.WAITTIME / 1000, ''), 8 ) AS [HH:MM:SS],
DB_NAME(SP.DBID) AS [실행DB],
SP.LASTWAITTYPE AS [대기유형],
SP.WAITRESOURCE AS [대기자원],
SP.CMD AS [차단중인명령어],
SP.HOSTNAME AS [호스트명],
SP.PROGRAM_NAME AS [실행프로그램],
SP.LOGINAME AS [실행계정],
SQL_TEXT.TEXT AS [실행문]
--SP.*
FROM BLOCKING AS BC
INNER JOIN MASTER.DBO.SYSPROCESSES AS SP
ON BC.SPID = SP.SPID
CROSS APPLY SYS.DM_EXEC_SQL_TEXT(SQL_HANDLE) AS SQL_TEXT
ORDER BY BLOCK_DEPTH KILL 760
--dbcc inputbuffer (284)
--dbcc sp_OACreate(69)
SELECT TEXT,
BLOCKING_SESSION_ID,
COMMAND,
DATABASE_ID,
WAIT_TYPE,
WAIT_RESOURCE,
*
FROM SYS.DM_EXEC_REQUESTS AS REQUEST
CROSS APPLY SYS.DM_EXEC_SQL_TEXT(REQUEST.SQL_HANDLE) AS SQL_TEXT
WHERE SESSION_ID > 50
AND SESSION_ID <> @@SPID
AND BLOCKING_SESSION_ID <> 0
'IT 정보 > 개발 지식' 카테고리의 다른 글
host 파일 변경 (0) | 2024.03.24 |
---|---|
[js] REST API 호출 종류 (0) | 2023.09.03 |
Visual Studio Code 단축키 (0) | 2022.05.02 |
비즈니스 로직 (Business Logic) (0) | 2021.03.09 |
댓글