Sql-Server

當主伺服器不再可用時,刪除輔助伺服器上的日誌傳送配置

  • May 25, 2016

我的 SQL Server 2005 主伺服器出現故障,因此我在輔助伺服器上啟動了日誌傳送數據庫。數據庫在輔助伺服器上執行,我只需要刪除它的日誌傳送設置,而主伺服器不再可訪問。

似乎sp_delete_log_shipping_secondary_database應該在輔助伺服器上執行儲存過程來執行此操作,即“刪除輔助數據庫並刪除本地歷史記錄和遠端歷史記錄”,如msdn所述。

這也會刪除數據庫本身嗎?還是只有它的日誌傳送設置?當主伺服器無法訪問時它會做什麼?

我不能失去輔助伺服器上的數據庫,因為它已經在使用中。

您在 msdb 的 logshipping 表中面臨所謂的孤立條目。您可以使用下面的 tsql 來手動清理 logshipping 孤兒條目。對於您的情況,由於您沒有可用的主數據庫,您應該只執行該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

注意:以上方法是安全的,只會刪除與日誌相關的資訊。

引用自:https://dba.stackexchange.com/questions/119388