데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

model Database 손상시 발생하는 영향  복구 방법

 

·         Version : SQL Server

 

SQL Server에서 사용되는 system database에는 master, model, msdb, temp 4가지가 있다. master 경우 SQL Server 대한 속성 정보를 가지고 있기 때문에 중요성에 대해서 많은 사람들이 인지하고 있다이번 시간에는 model 데이터베이스의 중요성에 대해서 알아보고 model 데이터베이스가 손상되었을때 어떤 영향이 있는지그리고 복구 방법에 대해서 알아본다.

 

model 데이터베이스는 SQL Server 인스턴스에서 생성된 모든 사용자 데이터베이스의 템플릿으로 사용된다새로운 데이터베이스를 생성하면 데이터베이스 옵션을 포함하여 model 데이터베이스 전체 내용이 새로운 데이터베이스로 복사된다. tempdb 또한 SQL Server  재시작 될때 model 데이터베이스로부터 일부 속성을 상속 받아 생성된다일반적으로 사용자 데이터베이스의 손상은 빠르게 감지 되지만 (사용자 데이터베이스는 서비스에서 계속 사용중이므로) model 데이터베이스의 경우 시스템이 재시작되거나 새로운 데이터베이스가 만들어질때 까지 손상을 발견하기가 쉽지 않다.

 

만약 model 데이터베이스가 손상된 채로 시스템이 재시작 되면 어떻게 될까위에서 설명하였듯이 SQL Server 재시작될때 temp 새로 생성하게 되는데 이때 model 데이터베이스를 참조하는데 model 데이터베이스  손상되었으므로 tempdb 또한 생성이 실패된다파일 시스템에서 오류 로그를 확인해 보면 tempdb 손상되어 SQL Server 시작하지 못했다는 오류를 발견할  있는데근본적인 원인은 model 데이터베이스가 손상되어 발생한것으로 오류 로그로는 명확하게 원인을 파악하지 못할   있다.

 

model 데이터베이스 손상으로 SQL Server 시작되지 않을 시에는 아래   플래그를 적용하여 SQL Server 시작할  있다.

·         -T3608 :  마스터 데이터베이스만 복구, tedbmp  필요한 작업이 시작되면 model  복구되고 tempdb 생성된다.

·         -T3609 : 모든 데이터베이스 복구, tempdb 지우지 않음.

 

만약  방법으로 복구되지 않고, model 데이터베이스에 대한 백업본이 없다면 동일한 SQL Server 버전  데이터 정렬(collation) 사용하는 다른 데이터베이스로 데이터 파일과 로그 파일을 복사하여 복원할  있다.

 

2017-09-13 / 강성욱 http://sqlmvp.kr / http://sqlangeles.com

 

 

 

SQL Server, MS SQL, model, System database, suspect page, dbcc checkdb, system database curruption

No. Subject Author Date Views
2110 SQL Server 2016 Large RAM 및 Checkpoint jevida(강성욱) 2018.03.31 2103
2109 SQL Server 2016 JSON 형식을 일반 ROW 형식으로 반환하 jevida(강성욱) 2018.03.31 1666
» model Database 손상시 발생하는 영향 및 복구 방법 jevida(강성욱) 2018.03.31 1186
2107 In-Memory OLTP 사용시 메모리 할당량 초과 오류 jevida(강성욱) 2017.09.13 6753
2106 SQL Server 2016 쿼리 실행에 대한 각 스레드(오퍼레이터) 성능 통계 jevida(강성욱) 2017.09.13 7059
2105 Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점 jevida(강성욱) 2017.09.13 5915
2104 SQL Linux에서 Job Agent 설치 jevida(강성욱) 2017.09.13 5954
2103 SQL Linux에서 Windows SQL 백업 파일 복원 jevida(강성욱) 2017.09.13 5926
2102 Linux에서 Network I/O 확인 jevida(강성욱) 2017.09.13 6372
2101 SQL Linux에서traceflag 활성화 jevida(강성욱) 2017.09.13 5636
2100 SQL Linux에서 dump file 위치 변경 jevida(강성욱) 2017.09.13 5405
2099 SQL Linux에서 Port 변경 jevida(강성욱) 2017.09.13 6237
2098 Linux에서 DISK 공간 확인 jevida(강성욱) 2017.09.13 5611
2097 SQL Linux에서collation 변경 jevida(강성욱) 2017.09.13 3537
2096 SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경 jevida(강성욱) 2017.09.13 3871
2095 SQL Linux 기본Configure 명령 jevida(강성욱) 2017.09.13 3407
2094 SQL Linux에서 기본 백업 디렉토리 변경 jevida(강성욱) 2017.09.13 3839
2093 Linux에서 DISK I/O 사용량 확인 jevida(강성욱) 2017.09.13 3722
2092 Linux에서 CPU 사용량 확인 jevida(강성욱) 2017.09.13 2220
2091 SQL Linux에서 SQL Server 시작, 중지, 활성, 비활성 jevida(강성욱) 2017.09.13 1454





XE Login