데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요. 질문이 있어서 이렇게 글을 남깁니다.

 

특정시간대에 8시~10시 사이에 매일매일 걸리는 LOCK 이있는데

 

프로시저 상에는 오류가 없고

 

이력 남기는용도로 쓰고 잇는 프로시저로 스캐쥴돌아 확인하는데..

 

남기는용도 프로시저는 다음과 같습니다.

 

CREATE PROCEDURE  [dbo].[Z_BLOCK_CHECK]  
as

set nocount on

create table #tbl(
 SPID int,
 dbid varchar(255),
 objid varchar(255),
 indID varchar(255),
 Type varchar(255),
 Resource varchar(255),
 Mode varchar(255),
 Status varchar(255)
 
)

declare @objid varchar(255)
DECLARE @SPID VARCHAR(255)
declare @obj_sp_name varchar(max)
declare @block_table varchar(255)

select @objid = null
select @obj_sp_name = null;

insert into #tbl(SPID,dbid,objid,indID,Type,Resource,Mode,Status)
exec sp_lock

delete from #tbl where  Type<>'TAB' or objid < 0 or Mode not in ('X','IX')


insert into ZTB_LOCK(SPID, dbid, objid, insDate, cnt)
select SPID, dbid, objid, getdate(), 0 from #tbl

delete from ZTB_LOCK where SPID+dbid+objid not in (
 select SPID+dbid+objid from #tbl

) and  convert(char(8), insDate, 112) =  convert(char(8), getdate(), 112)

select top 1 @objid = objid,@SPID = SPID from ZTB_LOCK where convert(char(8), insDate, 112) =  convert(char(8), getdate(), 112)
group by SPID, dbid, objid having count(*) > 5


 IF isnull(@objid, '') <> ''
 begin
  if cast(replace(convert(varchar,getdate(),8),':','') as int) between 080000 and 220000
  begin
   
     select @block_table = name from sysobjects  where  id = @objid
     set @obj_sp_name = (select qt.text from master.dbo.sysprocesses sprc CROSS APPLY sys.dm_exec_sql_text(sprc.sql_handle) as qt where sprc.spid = convert (smallint, @SPID))
     
      insert into TBL_BLOCK_SMS(BLOCK_SQL, CREATE_DTTM,SP_NAME) values (@block_table, GETDATE(),@obj_sp_name)
   
  end


drop table #tbl;
 
end
-- Z_SP_TABLE_LOCK 원래 블럭체크

 

이거인데

 

sysrscols, syscolpars

 

이 시스템 테이블이 락이 걸립니다..

 

아래 DB CHECK 도 넣었습니다.

 

무엇이 문제일까요?ㅠㅠㅠ 그리고 이 테이블이 무슨 역활을 하나요? 이력관리인가요?

No. Subject Author Date Views
10307 네트워크의 파일엑세스하는 방법 좀... [3] 길주석 2018.08.30 1110
10306 exexpression을(를) 데이터 형식 varchar(으)로 변환하는 중 산술 오버플로 오류가 발생... [3] 플라이어 2018.08.28 1033
10305 한글 문자열에서 공백이 있으면 검색이 안돼요 담덕 2018.08.25 747
10304 IntelliSense 후알유? 2018.08.22 573
» sysrscols, syscolpars block lock이 왜 걸릴까요? nang86 2018.08.22 680
10302 SQL Server 2000 복구가 안되어 문의드립니다. 블랙21 2018.08.21 745
10301 data 가공에 대해 질문드립니다.. nozae 2018.08.21 673
10300 [긴급]update 쿼리문 질문입니다 [1] 바자다가사 2018.08.21 800
10299 DB를 close하지 않고 계속 써도될까요? [2] 딧물 2018.08.16 801
10298 유지관리계획 스케쥴 오류 문의 [1] 아틀레틱 2018.08.16 1197
10297 흔히 DB에서 말하는 분산처리가 무슨 의미인지 궁금합니다! sincie 2018.08.14 677
10296 입출금 내역 쿼리작성할 때 조인 질문 [3] 안돼요 2018.08.13 1166
10295 원화표시가 '\' 저장이안되요 문상연 2018.08.11 920
10294 재질문 - 최근 댓글 표현에 관해서...? [6] 문상연 2018.08.10 854
10293 프로시저 실행 및 오류 로그 [1] HoyaSoft 2018.08.10 671
10292 가장최근의 쪽지내용을 표시하고싶습니다 [2] 문상연 2018.08.09 637
10291 쿼리 문의입니다. [1] 얼음왕자 2018.08.07 648
10290 멀티 검색관련 [1] 냥냥 2018.08.04 585
10289 랭킹 프로시저 수정이 필요합니다 도와주세요. 배쉥 2018.08.01 689
10288 쿼리문 질문 합니다 PIVOT 관련 백마탄나 2018.07.31 746





XE Login