SQL/MS-SQL(16)
-
[MS-SQL] Procedure내 테이블 사용 조회
안녕하세요. 오늘은 작업시 테이블의 변경으로 인하여, 해당 참조중인 프로시저를 찾기 위한 쿼리를 공유하려고 합니다. select * from sysobjects where id in( select id from syscomments where text LIKE '%테이블명%'); 위와 같이 테이블명에 변경된 테이블을 조회하면 사용중인 테이블의 프로시저를 조회 할 수 있습니다.
2023.01.18 -
[MS-SQL] Lock 회피
안녕하세요. 오늘은 Lock 발생시 트랜잭션과 상관없이 데이터를 조회하는 방법에 대하여 알려드리겠습니다. SELECT시 회피와 PL구문에서 회피 방법을 알려드리겠습니다. 1. SELECT SELECT * FROM USER WITH(NOLOCK) WITH(NOLOCK)을 설정함으로 해당 테이블에 대한 트랜잭션을 무시하여 조회합니다. 2. PL SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 프로시저나 함수 선언시 위에 설정을 통하여 트랜잭션을 무시하여 조회합니다.
2023.01.18 -
[MS-SQL] 테이블 정보 조회
안녕하세요. 쿼리 작업을 진행 할 때, 갑자기 테이블에 대한 정보를 기억하지 못할때 없으신가요? 간단한 단축키를 통하여, 해당 테이블에 대한 내용과 인덱스의 정보를 조회 할 수있는 방법을 알려드리겠습니다. 적용 사용툴은 Microsoft SQL Server Mangment Studio 입니다. 1. 프로시저 생성 테이블의 정보와 인덱스의 정보를 조회 할 수있는 프로시저를 작성합니다. 프로시저에서 위에 값은 테이블의 정보이고, 아래의 정보는 인덱스의 정보입니다. CREATE PROCEDURE [dbo].[TABLE_INFO] ( @IN_NAME VARCHAR(MAX) -- 검색 값 ) AS BEGIN -- 테이블 컬럼 정보 SELECT T01.NAME AS "TABLE NAME" -- 테이블 명 , CAS..
2023.01.03 -
[MS-SQL] Lock(잠금)
안녕하세요. MS-SQL에서의 Lock(잠금) 확인방법과 처리 방법에 대하여 설명드리겠습니다. Lock이란 트랜잭션 처리를 위해 순차성을 보장하기 위한 것 입니다. 먼저, Lock의 종류입니다. 1. 공유잠금(Shared Lock) : SELECT (Read Lock) - 공유 Lock은 데이터를 읽을때 사용되는 Lock - 공유 Lock 끼리는 동시 접근 가능 2. 배타적잠금(Exclusive lock) : INSERT, UPDATE, DELETE (Write Lock) - 배타 Lock은 데이터를 변경하고자 할때 - 배타 Lock은 Lock이 해제될 때 까지 다른 트랜잭션이 해당 리소스에 접근 불가 1. SP_LOCK 아래의 명령어로 Lock을 조회한다. EXEC SP_LOCK; Mode 종류 ① S..
2023.01.02