当主服务器不再可用时,删除辅助服务器上的日志传送配置

tre*_*chf 8 sql-server-2005 sql-server log-shipping

我的 SQL Server 2005 主服务器出现故障,所以我在辅助服务器上启动了日志传送数据库。数据库在辅助服务器上,我只需要删除它的日志传送设置,而主服务器不再可访问。

似乎sp_delete_log_shipping_secondary_database应该在辅助服务器上执行存储过程来执行此操作,它“删除辅助数据库并删除本地历史记录和远程历史记录”,正如msdn 上所述

这也会删除数据库本身吗?还是只有它的日志传送设置?当主服务器不可访问时它会做什么?

我不能丢失辅助服务器上的数据库,因为它已经在使用中。

Kin*_*hah 10

您正面临 msdb 中日志传送表中所谓的孤立条目。您可以使用下面的 tsql 来手动清理日志传送孤立条目。对于您的情况,由于您没有可用的主数据库,您应该只运行该secondary部分,或者您可以尝试运行sp_delete_log_shipping_secondary_database N'secondary_database'. 它只会从 msdb 中删除辅助数据库设置。

----- on primary
delete from [dbo].[log_shipping_monitor_primary]
where primary_database = 'your database name'       -- Change the database name 
go
delete from [dbo].[log_shipping_primary_databases]
where primary_database = 'your database name'        -- Change the database name
go
delete from [dbo].[log_shipping_primary_secondaries]
where secondary_database = 'your database name'      -- Change the database name


----- on Secondary
delete from [dbo].[log_shipping_monitor_secondary]
where secondary_database  = 'your database name'     -- Change the database name
go
delete from [dbo].[log_shipping_secondary]
where primary_database = 'your database name'        -- Change the database name
go
delete from [dbo].[log_shipping_secondary_databases]
where secondary_database = 'your database name'      -- Change the database name
Run Code Online (Sandbox Code Playgroud)

注意:以上方法是安全的,只会删除与日志传送相关的信息。