본문 바로가기

전체 글9

데드락 (교착상태) Dead Lock 데드락이 걸린경우, SQL서버가 중재를 해서 하나의 프로세스를 Victim(희생양)으로 처리한다 S : 공유 잠금 Lock. U : 업데이트 잠금 Lock. X : 독점 잠금 Lock. IS : 의도 공유 잠금 Lock. IU : 의도 업데이트 잠금 Lock. IX : 독점 의도 잠금 Lock. BU : 대량 업데이트 잠금 Lock. -- 데드락 확인 방법 exec sp_lock; -- mode가 x인 프로세스가 lock에 걸린 항목이다. spid를 복사해 둔다. select * from master.dbo.sysprocesses where blocked != 0 and spid != blocked; -- SQL SERVER 로그에서 데드락 상태확인을 위해 두가지 추적 플래거 사용가능 DBCC TRACE.. 2023. 10. 5.
작업스케줄한눈에보기 SELECT [jobs].name as [jobname] , description , CASE convert(nvarchar(3),[sSCH].[enabled]) WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS [IsEnabled] , CASE WHEN convert(nvarchar(3),[freq_type],3) = 64 THEN 'SQL Server 시작 시 마다' WHEN convert(nvarchar(3),[freq_type],3) = 128 THEN '서버가 유휴 할때마다' WHEN convert(nvarchar(3),[freq_type],3) IN (4,8,16,32) THEN '되풀이' WHEN convert(nvarchar(3),[freq_type],3) = 1 THE.. 2023. 10. 5.
특수문자 제거 함수 문자열에서 특수문자 제거 -- 0-9, a-z and A-Z 제외한 모든 문자 제거 create function dbo.RemoveSpecialChars (@s varchar(256)) returns varchar(256) with schemabinding begin if @s is null return null declare @s2 varchar(256) set @s2 = '' declare @l int set @l = len(@s) declare @p int set @p = 1 while @p 2023. 10. 5.
특정단어가 포함되어 있는 트리거 찾기 DECLARE @Trigger_Name VARCHAR(MAX) = 'TSMGO05L'; SELECT * FROM ( SELECT db_name() AS db_name, tbl.name AS tbl_name, tr.name AS tr_name, ISNULL(smtr.definition, ssmtr.definition) AS [Definition] FROM sys.tables AS tbl INNER JOIN sys.objects AS tr ON (tr.type in ('TR', 'TA')) AND (tr.parent_object_id=tbl.object_id) LEFT OUTER JOIN sys.assembly_modules AS mod ON mod.object_id = tr.object_id LEFT OU.. 2023. 10. 5.