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 |