상세 컨텐츠

본문 제목

Microsoft SQL Server MSDB 데이터베이스 복구

SQL Server

by 코딩하는 박줄기 2024. 10. 23. 18:00

본문

728x90
반응형

 

MSDB는 SQL Server에서 중요한 역할을 하는 시스템 데이터베이스입니다. SQL Server 에이전트 작업, 백업, 알림 등 많은 기능이 MSDB에 의존하기 때문에 문제가 발생하면 신속하고 정확한 복구가 필요합니다. 이 글에서는 MSDB가 손상되었을 때 안전하게 복구하는 방법을 설명합니다.

 

 

정전으로 인해 서버가 갑자기 다운되면서 발생한 msdb 오류

 

1. DBCC CheckDB를 사용하여 MSDB 데이터베이스 복구

사용 가능한 백업이 없는 경우 "DBCC CheckDB"를 실행하여 현재 MSDB 데이터베이스와 해당 내용을 저장할 수 있습니다. 아래의 T-SQL 명령은 MSDB 데이터베이스의 무결성을 확인하고, MSDB 데이터베이스의 소프트 복구를 실행하며, 마지막으로 MSDB 데이터베이스의 하드 복구를 수행합니다.

-- 1. sp_resetstatus 명령어로 상태 초기화
EXEC sp_resetstatus 'msdb';
-- 2. 데이터베이스를 응급 모드로 설정
ALTER DATABASE [msdb] SET EMERGENCY;
-- 3. 데이터베이스 검사
DBCC CHECKDB ('msdb');
-- 4. 단일 사용자 모드로 전환
ALTER DATABASE [msdb] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
-- 5. 데이터베이스 복구 (데이터 손실 가능)
DBCC CHECKDB ('msdb', REPAIR_ALLOW_DATA_LOSS);
-- 6. 다중 사용자 모드로 전환
ALTER DATABASE [msdb] SET MULTI_USER;

 

2. MSDB 데이터베이스 파일을 교체합니다.

MSDB 데이터베이스가 손상되고 DBCC 복구 옵션이 작동하지 않는 경우 MSDB 데이터베이스 파일을 교체하여 새 MSDB 데이터베이스를 추가할 수 있습니다.

MSDB 데이터베이스 파일을 교체하면 사용자 지정 백업 작업, 작업 정보, 복제, 로그 전송 및 유지 보수 계획 데이터와 같은 모든 정보가 손실됩니다.

 

SQL Server 데이터 디렉토리로 이동합니다. 아래 예의 디렉토리 경로는 "C:\Program Files\Microsoft SQL Server\MSSQL15. \MSSQL\DATA"

  • 손상된 "msdbdata.mdf" 및 "msdblog.ldf" 파일을 찾습니다.
  • 파일을 복사하여 다른 디렉토리로 이동합니다. 

SQL Server 설치 디렉토리로 이동하여 "Binn" 디렉토리 아래의 "Templates" 폴더로 이동합니다.

 

  • "msdbdata.mdf" 및 "msdblog.ldf" 파일은 새로운 안정적인 MSDB 데이터베이스를 가져와야 하는 MSDB 데이터베이스 템플릿 파일입니다.
  • MSDB 임시 데이터베이스 파일이 저장된 위치를 찾아 복제본을 기본 SQL Server 데이터베이스 디렉토리에 다시 넣습니다.
  • MSDB 데이터베이스 파일을 교체한 후 SQL Server 서비스를 시작합니다.

 

참조

728x90
반응형

관련글 더보기

댓글 영역