Entfernen Sie die Protokollversandkonfiguration auf dem sekundären Server, wenn der primäre nicht mehr verfügbar ist

7

Mein Primärserver mit SQL Server 2005 ist ausgefallen, daher habe ich die Protokollprotokolldatenbank auf dem Sekundärserver gestartet. Die Datenbank befindet sich auf dem sekundären Server, und ich muss nur die Einstellungen für den Protokollversand entfernen, während auf den primären Server nicht mehr zugegriffen werden kann.

Es scheint, dass die sp_delete_log_shipping_secondary_databasegespeicherte Prozedur auf dem sekundären Server ausgeführt werden sollte, um dies zu tun, wodurch "eine sekundäre Datenbank entfernt und der lokale Verlauf und der entfernte Verlauf entfernt werden", wie auf msdn angegeben .

Würde dies auch die Datenbank selbst entfernen? Oder nur die Protokollversandeinstellungen dafür? Und was wird es tun, wenn auf den Primärserver nicht zugegriffen werden kann?

Ich darf die Datenbank auf dem sekundären Server nicht verlieren, da sie bereits verwendet wird.

treaschf
quelle

Antworten:

9

Sie sehen sich mit sogenannten verwaisten Einträgen in Logshipping-Tabellen in msdb konfrontiert. Sie können unten tsql verwenden, um verwaiste Logshipping-Einträge einfach manuell zu bereinigen. In Ihrem Fall sollten Sie, da Sie nicht über die Primärdatenbank verfügen, nur das secondaryTeil ausführen, oder Sie können versuchen , es auszuführen sp_delete_log_shipping_secondary_database N'secondary_database'. Es werden nur die sekundären Datenbankeinstellungen aus msdb entfernt.

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

Hinweis: Die oben genannten Methoden sind sicher und löschen NUR Informationen zum Protokollversand.

Kin Shah
quelle