Sql server 2012 以高可用性还原SQL Server 2012数据库
我有一个始终处于高可用性模式的数据库,它与另一个实例上的另一个数据库同步。如何使用T-SQL将Sql server 2012 以高可用性还原SQL Server 2012数据库,sql-server-2012,restore,high-availability,database-restore,alwayson,Sql Server 2012,Restore,High Availability,Database Restore,Alwayson,我有一个始终处于高可用性模式的数据库,它与另一个实例上的另一个数据库同步。如何使用T-SQL将.bak文件还原到主数据库中 我是高可用性新手,有人建议我需要先将数据库从高可用性中删除,然后才能执行恢复,然后再将其恢复到高可用性,但我不确定 我希望我可以在AlwaysOn仍处于启用状态时直接还原到主数据库,并且它将自动与辅助数据库同步。如果Microsoft SQL数据库是Microsoft SQL 2012 AlwaysOn可用性组(AAG)的一部分,并且还原到原始位置失败,请执行以下任务: 1
.bak
文件还原到主数据库中
我是高可用性新手,有人建议我需要先将数据库从高可用性中删除,然后才能执行恢复,然后再将其恢复到高可用性,但我不确定
我希望我可以在AlwaysOn仍处于启用状态时直接还原到主数据库,并且它将自动与辅助数据库同步。如果Microsoft SQL数据库是Microsoft SQL 2012 AlwaysOn可用性组(AAG)的一部分,并且还原到原始位置失败,请执行以下任务: 1.从可用性组中删除要还原的数据库。有关详细信息,请参阅。 2.使用还原管理器将数据库还原到AAG组中的所有节点。
3.将数据库添加回可用性组。有关更多信息,请参阅。dba.stackoverflow.com上有此问题的完整答案 在此处交叉张贴答案,以便可以从问题的两个版本中找到: 从的答案中逐字复制:
听你的顾问的话。通过恢复备份,您实际上是在替换数据库架构和数据。您需要关闭同步,从HA中删除DB,并在主副本和副本上执行恢复,通过与NORECOVERY一起使用,使副本版本处于恢复状态。备份到位后,将数据库放回HA并再次开始同步 HA与镜像非常相似,并使用类似的技术,只是没有那么挑剔。您也会希望同样地对待您的HA DBs 代码类似于以下代码: --小学
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.ldf';
RESTORE LOG AdventureWorks2012
FROM AdventureWorksBackups
WITH RECOVERY;
--小学
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.ldf';
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 DATABASE AdventureWorks2012 SET HADR AVAILABILITY GROUP = MyAG;
--在中学
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;
应该在dba.stackexchange.com上被问到——这实际上更多的是一个dba问题(而不是一个编程问题)——投票给moveCheers marc。我不知道那个网站,所以我会在那里问。