VM환경에서 AG 구성하였을때VSS 백업 동작 변경

 

·         Version : SQL Server 2016, SQL Server 2017

 

SQL Server 2016 Standard Edition(또는 이후 버전) 사용하여 가상 컴퓨터 (Virtual Machine) 환경에서 기본 가용성 그룹( AG) 구성하였을때 AG 보조 복제본을 호스팅하는 VM환경에서 백업이 실패한 것으로 나타날  있다이러한 이유는 Volume Shadow Copy Service(VSS) VM환경의 보조 복제본에서호스트되는 모든  SQL Server 데이터베이스를 일관된 방식으로 백업하기 때문이다.

·         Volume Shadow Copy Service : https://docs.microsoft.com/ko-kr/windows/desktop/VSS/about-the-volume-shadow-copy-service

기본 가용성 그룹에서는 보조 데이터베이스의 백업이 지원되지 않으므로 백업중인 데이터베이스의 하위 집합과 함께 VM 백업이 성공할  있도록 허용하지 않아 전체 VM백업이 실패한다이전 버전의 SQL Server에서  Database Mirroring VM에서 호스트되는 미러된 데이터베이스를 스킵하면서 VSS 백업을 완료할  있었다. SQL Server 2016 SP2 CU2  SQL Server 2017 CU9에서는 기본 AG VSS 백업의 기본 동작을 데이터베이스 미러링과 같이 변경하여 기본 AG 보조 복제본에서 호스트되는 보조 데이터베이스를 스킵한다, VM환경에서 백업은 성공하지만 백업 당시에는 2 상태였던 데이터베이스는 포함되지 않는다.

 

SQL Writer Service SQL Server에서 VSS백업을 수행하는 서비스이다 서비스는 SQL Server엔진과 별개이며 다른 버전의 SQL Server에서 공유된다.

·         SQL Writer Service : https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-writer-service?view=sql-server-2017

동일한 서버 또는 VM SQL Server인스턴스가 여러  설치되어있는 경우 이러한 인스턴스는 모두 SQL Writer Service 동일한 인스턴스를 공유한다동일한 서비스가 버전간에 공유되더라도  SQL Server버전과 함께 제공되는 파일에는 함께 제공되는 인스턴스와 동일한 버전 번호가 표시된다 SQL Server 2016 SP2 CU2 서버에 적용하면 새로운 기능을 갖춘  SQL Writer Service 제공되지만 이후에 해당 인스턴스를 SQL Server 2017RTM으로 업그레이드 하거나 SQL Server 2017 별도 인스턴스를 설치하는 경우 RTM 동일한 서버에 설치하면 새로운 SQL Writer Service 바이너리는  버전 번호를 갖기 때문에 이전 버전으로 바뀐다 때문에 SQL Server 2016 SP2 CU2 패치된 시스템에 SQL Server 2017인스턴스를 업그레이드 하거나 설치하는 경우 최신 CU 적옹해야 한다.

 

[참고자료]

https://blogs.msdn.microsoft.com/sql_server_team/behavior-change-for-vss-backups-on-vms-with-basic-availability-groups/

 

 

2018-08-28 / Sungwook Kang / http://sqlmvp.kr

 

SQL Server, MSSQL, AlwaysOn,가용성 그룹, SQL 가용성 그룹가용성 그룹 백업, VSS, Volume Shadow Copy Service, SQL Writer Service



출처: https://sqlmvp.tistory.com/1268?category=618825 [Database Lab]
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 33870
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 17083
2154 SQL Server 가용성 그룹에 데이터베이스 자동으로 추가하기 jevida(강성욱) 2019.03.26 703
2153 SQL Server MySQL PostgreSQL 비교 jevida(강성욱) 2019.03.26 1205
2152 SQL Server 복잡한 쿼리가 옵티마이저에 미치는 영향과 옵티마이저 timeout jevida(강성욱) 2019.03.26 786
2151 SQL Server 2019 에서 문자열 잘림에 대한 향상된 에러 메시지 반환 jevida(강성욱) 2019.03.26 600
2150 SQL Server 2019 에서 업그레이드된sp_estimate_data_compression_savings 프로시저 (컬럼스토어 압축율 예상) jevida(강성욱) 2019.03.26 623
2149 SQL Server 2019 에서 추가된sys.dm_db_page_info, sys.fn_PageResCracker 기능으로 대기 관련 정보 확인 jevida(강성욱) 2019.03.26 923
2148 SQL Server 2019에서 향상된 Rowstore batch mode jevida(강성욱) 2019.03.26 507
2147 SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화 jevida(강성욱) 2019.03.26 542
2146 In-memory optimized table에 사용되는 Hash Index jevida(강성욱) 2019.03.26 473
» VM환경에서 AG를 구성하였을때VSS 백업 동작 변경 jevida(강성욱) 2019.03.25 464
2144 SQL Server 2016 향상된 가용성 그룹 – 데이터베이스 수준의 상태 탐지 장애조치 jevida(강성욱) 2019.03.25 488
2143 SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size jevida(강성욱) 2019.03.25 438
2142 SQL Server 설치시 발생하는 1638 오류 jevida(강성욱) 2019.03.25 681
2141 SQL Server 666코드의 고유 식별자 오류 jevida(강성욱) 2019.03.25 365
2140 SQL Server AlwaysOn synchronous-commit 환경에서 동기화 레이턴시 트러블슈팅 jevida(강성욱) 2019.03.25 468
2139 SQL Server Scheduling and Yielding 트러블슈팅 jevida(강성욱) 2019.03.25 433
2138 SQL Server 2016 Tempdb 경합(contention) 최적화 jevida(강성욱) 2019.03.25 558
2137 XEvent를 사용하여 Auto tuning 작업 모니터링 jevida(강성욱) 2019.03.25 588
2136 SQL Server In-Memory OLTP에 ASP.NET 세션 상태 저장하기 jevida(강성욱) 2019.03.25 450
2135 SQL Server에서 JSON 데이터 저장하기 jevida(강성욱) 2019.03.25 615





XE Login