1

У меня есть база данных, которая находится в режиме постоянной доступности, синхронизированном с другой базой данных на другом экземпляре. Как восстановить файл .bak в основной базе данных с помощью T-SQL?Восстановление базы данных SQL Server 2012 с высокой степенью готовности

Я новичок в высокой доступности, и мне сообщили, что мне нужно извлечь базу данных из высокой доступности, прежде чем я смогу сделать восстановление, а затем снова вернусь к ней, но я не уверен.

Я надеюсь, что могу просто восстановить прямо в первичный, в то время как AlwaysOn все еще включен, и он будет автоматически синхронизироваться со вторичным.

+0

Должно быть предложено на dba.stackexchange.com - это действительно больше вопрос DBA (а не ** ** программирование вопрос) - голосование двигаться –

+0

Приветствия выжимок. Я не знал об этом сайте, поэтому я попрошу там. – Stew

ответ

0

Если база данных Microsoft SQL является частью групп доступности Microsoft SQL 2012 AlwaysOn (AAG) и не удается восстановить исходное местоположение, выполните следующие задачи: 1. Удалите базу данных, которая будет восстановлена ​​вдали от групп доступности , Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/hh213326.aspx. 2. Используйте Restore Manager для восстановления базы данных ко всем узлам группы AAG. 3. Добавьте базу данных обратно в группы доступности. Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/hh213078.aspx.

1

Полный ответ на этот вопрос на dba.stackoverflow.com.

кросс-постинг ответа здесь, так что она может быть найдена из обоего версий вопроса: скопированных от ответа John M «s: https://dba.stackexchange.com/questions/82548/restoring-a-sql-server-2012-database-in-high-availability


Прислушивайтесь к своему консультанту. Восстановив резервную копию, вы по существу заменяете схему базы данных и данные. Вам нужно будет отключить синхронизацию, удалить БД из HA и выполнить восстановление на основной и реплике, оставив версию реплики в состоянии восстановления, используя WITH NORECOVERY. После того, как ваша резервная копия будет на месте, верните БД в HA и снова запустите синхронизацию.

HA очень похож на зеркалирование и использует аналогичную технологию, но не так уж и бледен. Вы также захотите относиться к своим HA DB таким же образом.

код будет похож на следующее:

--on первичной

ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE AdventureWorks2012; 

--on первичной

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 RECOVERY; 

--on вторичный

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 DATABASE AdventureWorks2012 SET HADR AVAILABILITY GROUP = MyAG; 
Смежные вопросы