SQL Server Log Shipping:如何将目标数据库更改为备用?



我已经添加了Log Shippig到SQL Server:

SQL server1source_database->SQL server2target_database

正如我从SSMs报告中看到的,它工作正常。但是目标数据库总是在"恢复"中。状态。我想将其更改为对目标数据库具有读访问权限,并按照此处

所述进行所有操作。https://www.mssqltips.com/sqlservertip/3600/change-the-restore-mode-of-a-secondary-sql-server-database-in-log-shipping-with-ssms/

但目标数据库仍处于还原模式。我做错了什么?如何改变状态并拥有读访问权限?

有两种方法:

  1. 配置日志发送默认使用备用模式:(在目标服务器的msdb..log_shipping_secondary_databases中将restore_mode设置为1)
  2. 在恢复作业中使用恢复模式并手动设置数据库为备用状态

我非常喜欢方法#2,因为如果数据库中有很多操作,那么将每个备份恢复到备用模式是非常慢的。

要手动使用恢复模式,在恢复后在SQL Agent作业中添加一个步骤,并运行如下命令:


if exists(
select 1 from sys.databases where name = 'YOUR DATABASE NAME' and state_desc = 'RESTORING'
)
begin
restore database YOUR_DB_NAME with standby =  'D:PATH_TO_STANDBY_FILEYOUR_DB_NAME_standby.tuf'
end

使用此方法,您可以获得更快的恢复速度,并且在恢复作业完成后立即可以访问您的数据库。

相关内容

  • 没有找到相关文章

最新更新