SQL(20)
-
[MS-SQL] DB 백업, DB 리스토어
안녕하세요. 이번 포스팅은 DB 백업과 리스토어(복원)에 관하여 설명하려고 합니다. 저는 Microsoft SQL Serve Managemnet Studio를 통하여 하는 방법을 설명하겠습니다. 1. 파일 확인 먼저, 백업 하려는 데이터베이스를 선택하시고 우클릭 후 속성을 선택합니다. 그리고 파일 탭으로 이동합니다. 이동하시면 데이터베이스 파일을 확인 하실수 있습니다. 2. 백업 백업 명령어는 아래와 같습니다. BACKUP DATABASE [데이터베이스명] TO DISK = [경로]; 예제) BACKUP DATABASE TEST TO DISK = 'E:\DB_BACKUP\TEST.bak'; 3. 리스토어(복원) 복원은 1번항목 파일에 대한 정보가 필요합니다. 각각 파일의 위치를 지정 하여야합니다. RES..
2023.06.29 -
[MS-SQL] 테이블 파티션 인덱스 설정
안녕하세요. 이번포스팅은 파티션인덱스에 관하여 작성하였습니다. MS-SQL에서 대용량처리시 필요한 내용입니다. 관리하고 검색하기 위한 기술로, 인덱스 자체를 여러 개의 논리적인 파티션으로 나누어 저장하는 인덱스입니다. 1. 파티션 함수 생성 먼저, 파티션 함수를 작성해야합니다. CREATE PARTITION FUNCTION PF_ITM_NO (VARCHAR(10)) AS RANGE RIGHT FOR VALUES ( 'A' ,'B' ,'C' ) 위의 함수는 'A','B','C'로 시작하는 품목 번호를 파티션을 나누기 위해 작성합니다. RIGHT 대신 LEFT도 사용가능합니다. LEFT 또는 RIGHT는 파티션 경계 값을 포함할 위치를 지정합니다. LEFT는 해당 값 이전의 파티션에 포함되고, RIGHT는 ..
2023.05.10 -
[MariaDB] 예외처리
안녕하세요. 이번 포스팅은 MariaDB에서 예외처리 하는 방법을 공유하려고 합니다. 먼저, 예외 처리를 하기 위해 Handler를 선언 하여야 합니다. 1. 예외처리 BEGIN #에러 선언 DECLARE TEST_ERR CONDITION FOR SQLSTATE '99999'; #변수 선언 DECLARE ERR_SQLLONGTEXT; DECLARE ERR_MESSAGE LOGTEXT; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 ERR_SQL = MESSAGE_TEXT, ERR_NUMBER = RETURNED_SQLSTATE; SELECT 'ERR' AS ERR, ERR_NUMBER, ERR_SQL; END; #에러 처리..
2023.05.09 -
[MS-SQL] 인덱스 리빌드(Rebuild), 리오그나이즈(Reorganize) 스케쥴러
안녕하세요. 이번포스팅에서는 인덱스 리빌드와 리오그나이즈에 대해서 설명하고 적용하는 방법을 공유하려고 합니다. 솔루션을 도입, 개발하였을때 사용자가 속도가 체감적으로 느려졌다라고 느끼실겁니다. 보통 사용하다보면 데이터의 양이 많아져 속도가 느려질수 밖이 없습니다. 그러나 인덱스를 사용하여 검색속도를 증가시켜 속도를 향상 시킬수 있습니다. 그러나 데이터가 변경되고 사용하다보면 조각화가 발생됩니다. 이러한 조각화를 해결 하기 위해 리빌드와 리오그나이즈를 사용합니다. 1. 인덱스 리빌드(Rebuild) 인덱스를 완전히 새롭게 다시 생성합니다. 즉, 기존 인덱스를 삭제하고 새로운 인덱스를 만들어 데이터를 정렬합니다. 리빌드 과정은 리소스를 많이 사용하며, 데이터베이스의 성능에 영향을 줄 수 있습니다. 리빌드는 ..
2023.04.18 -
[Oracle] Lock 확인
이번 포스팅은 오라클 Lock 확인 후 프로세스 Kill 까지 방법을 설명하였습니다. -- 락걸린 테이블 확인 SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER, VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO WHERE VO.OBJECT_ID = DO.OBJECT_ID; ※해당 테이블에 LOCK 이 걸렸는지. SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B...
2023.03.09 -
[MS-SQL] CPU 사용량 많은 쿼리 조회
안녕하세요 이번 포스팅은 MSSQL에서 CPU사용량이 많은 쿼리를 확인하는 방법을 공유하고자 합니다. --CPU 소모량이 높은 쿼리 분석(간략 정보) SELECT TOP 20 [Average CPU used] = total_worker_time / qs.execution_count ,[Total CPU used] = total_worker_time ,[Execution count] = qs.execution_count ,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2, (CASE WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE q..
2023.03.03