[MSSQL] DB 통합시 고려사항

2024. 10. 25. 02:19·♣ Learning Logs/MSSQL

DB 통합/ 이전 시 체크리스트를 정리해보겠습니다.

아래는 리뉴얼 관련 통합 이전 작업시 진행했던 업무 목록 및 필요 체크리스트를 정리하였습니다.

 

-- ===================================================

-- 체크리스트 [ Source(소스) DB --> Target(타겟) DB ]

-- =================================================== 

- 예상 일정 수립 

- 이전 방식 계획 (스키마 비교, 데이터 마이그레이션)

- OS , DB 버전, 호환성 레벨, 현재 구성값 확인

- 이중화 여부 

- 로그인 계정 및 사용자 매핑

- Linked Server, Agent Job, 인바운드 IP 설정,  방화벽 Defender 설정

- 미사용 DB 및 SP 확인

- 최근 백업 현황 확인, 백업 장치 및 경로 확인

- 메모리, 최대 연결 수 설정

-- =================================================== 

 

-- 1. 사전 점검 사항
-- SQL Server 버전 및 Edition 확인
SELECT @@VERSION;

-- 데이터베이스 크기 및 여유 공간 확인
SELECT 
    DB_NAME(database_id) AS DB_Name,
    CAST(SUM(size) * 8. / 1024 AS DECIMAL(14,2)) AS DB_Size_MB
FROM sys.master_files
GROUP BY database_id;

-- 데이터베이스 복구 모델 확인
SELECT name, recovery_model_desc
FROM sys.databases;

-- 2. 종속성 체크
-- 연결된 로그인 계정 확인
SELECT 
    dp.name AS UserName,
    sp.name AS LoginName
FROM sys.database_principals dp
LEFT JOIN sys.server_principals sp 
    ON dp.sid = sp.sid
WHERE dp.type IN ('S', 'U');

-- 링크드 서버 확인
SELECT * FROM sys.servers
WHERE is_linked = 1;

-- SQL Agent Job 확인
SELECT name, enabled
FROM msdb.dbo.sysjobs;

-- 3. 주요 설정값 체크
-- 데이터베이스 호환성 레벨

SELECT name, compatibility_level
FROM sys.databases;

-- 데이터베이스 옵션 설정
SELECT * FROM sys.databases
WHERE database_id > 4;

-- 현재 구성값 확인
EXEC sp_configure;

-- 4. 성능 관련 체크리스트
-- 가장 큰 테이블 확인
SELECT 
    OBJECT_NAME(object_id) AS TableName,
    SUM(rows) AS RowCounts
FROM sys.partitions
WHERE index_id < 2
GROUP BY object_id
ORDER BY SUM(rows) DESC;

-- 미사용 인덱스 확인
SELECT 
    OBJECT_NAME(object_id) AS TableName,
    name AS IndexName,
    user_seeks + user_scans + user_lookups AS UserReads
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID()
AND user_seeks + user_scans + user_lookups = 0 ;

-- 5. 백업 관련 체크
-- 최근 백업 현황 확인
SELECT 
    database_name,
    backup_start_date,
    backup_finish_date,
    CAST(backup_size/1024/1024 AS DECIMAL(10,2)) AS backup_size_MB
FROM msdb.dbo.backupset
WHERE backup_start_date >= DATEADD(day, -7, GETDATE())
ORDER BY backup_start_date DESC ;

-- 6. 이전 후 체크리스트
-- 데이터 베이스 상태 확인
SELECT name, state_desc 
FROM sys.databases ;

-- 고아 사용자 확인
EXEC sp_validatelogins ;


저작자표시 비영리 변경금지 (새창열림)

'♣ Learning Logs > MSSQL' 카테고리의 다른 글

[MSSQL] ADX에서 MI로 파워쉘 데이터 가져오기  (0) 2024.11.04
[MSSQL] Azure MI 에서 deadlock XEvent 로깅하기  (0) 2024.10.25
[MSSQL] 프로파일러 설정  (0) 2024.10.25
[MSSQL] 시스템 스키마  (0) 2024.10.25
[MSSQL]모든 테이블 인덱스 크기 조회  (0) 2024.10.25
'♣ Learning Logs/MSSQL' 카테고리의 다른 글
  • [MSSQL] ADX에서 MI로 파워쉘 데이터 가져오기
  • [MSSQL] Azure MI 에서 deadlock XEvent 로깅하기
  • [MSSQL] 프로파일러 설정
  • [MSSQL] 시스템 스키마
HC.21
HC.21
hc-log 님의 블로그 입니다.
  • HC.21
    HC
    HC.21
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • ♣ Learning Logs (16)
        • 데이터 아키텍처 (1)
        • MSSQL (10)
        • MYSQL (3)
        • SQL (2)
        • MongoDB (1)
      • Project (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
HC.21
[MSSQL] DB 통합시 고려사항
상단으로

티스토리툴바