Lock 걸린 프로시저 검색 > db

본문 바로가기
사이트 내 전체검색

db

Lock 걸린 프로시저 검색

페이지 정보

작성자 서방님 댓글 0건 조회 149회 작성일 07-10-16 15:31

본문

[MS-SQL]쿼리분석기에서

 

[LOCK]걸린 프로시저 조회를 위해

 

[CURSOR]를 이용해

 

임시 TABLE를 만들어 조회

 

-----------------------------------------------------------


SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

 

if exists (select * from tempdb.dbo.sysobjects where id = object_id('[tempdb].[dbo].[#c_Batch_Process]'))
   drop table #c_Batch_Process

 

if exists (select * from tempdb.dbo.sysobjects where id = object_id('[tempdb].[dbo].[#USER_PROCEDURE]'))
   drop table #USER_PROCEDURE

 

CREATE TABLE #c_Batch_Process (EventType [NVARCHAR](30), Parameters [INT], EventInfo [NVARCHAR](255))

 

CREATE TABLE #USER_PROCEDURE (USER_SPID [INT], USE_USER [VARCHAR](255), USER_PROGRAM [VARCHAR](255), USE_USER_NAME [VARCHAR](30), USE_PROCEDURE [VARCHAR](255))

 

DECLARE @USER_SPID             [INT]
DECLARE @USE_USER_NAME   [VARCHAR](30)
DECLARE @응용프로그램           [VARCHAR](255)
DECLARE @사용자                    [VARCHAR](255)
DECLARE @USE_PROCEDURE   [VARCHAR](255)

 

DECLARE 프로시저_CURSOR CURSOR FOR
SELECT
                  [master].[dbo].[sysprocesses].spid AS USER_SPID,
       RTRIM([master].[dbo].[sysprocesses].hostname) AS 사용자,
       RTRIM([master].[dbo].[sysprocesses].program_name) AS 응용프로그램
FROM         [master].[dbo].[sysprocesses]
WHERE      ([master].[dbo].[sysprocesses].spid > 50)
ORDER BY  [master].[dbo].[sysprocesses].spid

 

OPEN 프로시저_CURSOR

 

FETCH NEXT FROM 프로시저_CURSOR INTO @USER_SPID, @사용자, @응용프로그램

 

WHILE @@FETCH_STATUS = 0
BEGIN
      --SELECT @USER_SPID AS USER_SPID, @사용자 AS 사용자, @응용프로그램 AS 프로그램
      --DBCC INPUTBUFFER(@USER_SPID)

 

      SET @USE_USER_NAME = NULL


      SELECT @USE_USER_NAME = [interflex3].[dbo].[C_작업자].사용자

      FROM [interflex3].[dbo].[C_작업자]

      WHERE ([interflex3].[dbo].[C_작업자].ComputerName = @사용자)

 


      DELETE FROM #c_Batch_Process

 


      INSERT INTO #c_Batch_Process EXEC ('DBCC INPUTBUFFER(' + @USER_SPID + ')')

 

      SELECT @USE_PROCEDURE = EventInfo FROM #c_Batch_Process

 

      INSERT INTO #USER_PROCEDURE
                          ([USER_SPID],
                           [USE_USER],
                           [USER_PROGRAM],
                           [USE_USER_NAME],
                           [USE_PROCEDURE])
      VALUES
                          (@USER_SPID,
                           @사용자,
                           @응용프로그램,
                           @USE_USER_NAME,
                           @USE_PROCEDURE)

 

      FETCH NEXT FROM 프로시저_CURSOR INTO @USER_SPID, @사용자, @응용프로그램

END

 

CLOSE 프로시저_CURSOR

 

DEALLOCATE 프로시저_CURSOR

 

SELECT USER_SPID,
             USE_USER,
             USER_PROGRAM AS USER________________________PROGRAM,
             USE_USER_NAME,
             USE_PROCEDURE AS USE_______________________________PROCEDURE
FROM   #USER_PROCEDURE

 

 

댓글목록

등록된 댓글이 없습니다.

Total 464건 22 페이지
db 목록
번호 제목 글쓴이 조회 날짜
149 서방님 104 10-16
148 서방님 180 10-16
147 서방님 182 10-16
146 서방님 117 10-16
145 서방님 178 10-16
144 서방님 153 10-16
143 서방님 151 10-16
142 서방님 169 10-16
141 서방님 132 10-16
140 서방님 933 10-16
열람중 서방님 150 10-16
138 서방님 180 10-16
137 서방님 164 10-16
136 서방님 179 10-15
135 서방님 178 09-21
게시물 검색

회원로그인

접속자집계

오늘
29
어제
302
최대
1,347
전체
155,090
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.