고 가용성에서 SQL Server 2012 데이터베이스 복원 복원 할 수 T-SQL있습니까? 고 가용성에 익숙하지

다른 인스턴스의 다른 데이터베이스와 동기화 된 상시 가동 고 가용성 모드 인 데이터베이스가 있습니다. ?를 .bak사용하여 파일에서 기본 데이터베이스로 어떻게 복원 할 수 T-SQL있습니까?

고 가용성에 익숙하지 않아 복원을 수행하기 전에 데이터베이스를 고 가용성에서 꺼내고 다시 고 가용성으로 되돌려 야하지만 확실하지 않습니다.

나는 AlwaysOn여전히 활성화 되어있는 동안 기본으로 바로 복원 할 수 있기를 바랍니다 . 보조와 자동 동기화됩니다.



답변

당신의 고문을 들어보십시오. 백업을 복원하면 기본적으로 데이터베이스 스키마와 데이터가 교체됩니다. WITH NORECOVERY를 사용하여 복제본 버전을 복원 상태로 유지하면서 동기화를 해제하고 HA에서 DB를 제거하고 기본 및 복제본에서 복원을 수행해야합니다. 백업이 완료되면 DB를 다시 HA에 넣고 동기화를 다시 시작하십시오.

HA는 미러링과 매우 유사하며 유사한 기술을 사용합니다. HA DB도 비슷하게 취급하려고합니다.

코드는 다음과 유사합니다.

-기본

ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE AdventureWorks2012;

-기본

RESTORE DATABASE AdventureWorks2012
   FROM AdventureWorksBackups
   WITH NORECOVERY,
      MOVE 'AdventureWorks2012_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
      MOVE 'AdventureWorks2012_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\NewAdvWorks.

RESTORE LOG AdventureWorks2012
   FROM AdventureWorksBackups
   WITH RECOVERY;

-보조

RESTORE DATABASE AdventureWorks2012
   FROM AdventureWorksBackups
   WITH NORECOVERY,
      MOVE 'AdventureWorks2012_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
      MOVE 'AdventureWorks2012_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';

RESTORE LOG AdventureWorks2012
   FROM AdventureWorksBackups
   WITH NORECOVERY;

-기본

ALTER AVAILABILITY GROUP MyAG ADD DATABASE AdventureWorks2012;

-보조

ALTER DATABASE AdventureWorks2012 SET HADR AVAILABILITY GROUP = MyAG;