Replikation entfernen (SQL): Unterschied zwischen den Versionen
Aus InfoAgent Dokumentation
K |
|||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | == | + | == Replikation nach DB-Restore entfernen == |
− | === | + | === Beschreibung === |
Eine replizierte Datenbank wurde durch Rücksicherung von BACKUP-File oder MDF/LDF wiederhergestellt. Bei der Sicherung wurden aber die Systemdatenbanken nicht mitgesichert. Folglich muss das Datenbank-Schema von den Replikationsinhalten entfernt werden. | Eine replizierte Datenbank wurde durch Rücksicherung von BACKUP-File oder MDF/LDF wiederhergestellt. Bei der Sicherung wurden aber die Systemdatenbanken nicht mitgesichert. Folglich muss das Datenbank-Schema von den Replikationsinhalten entfernt werden. | ||
Zeile 7: | Zeile 7: | ||
Gehen Sie dazu wie folgt vor... | Gehen Sie dazu wie folgt vor... | ||
− | {{ | + | {{SQLScript}} |
+ | |||
+ | === Datenbank wählen === | ||
+ | Die replizierte Datenbank muss zuerst ausgewählt werden. | ||
+ | <source lang="tsql"> | ||
+ | use InfoAgent | ||
+ | </source> | ||
=== Entfernen aller Trigger der Replikation === | === Entfernen aller Trigger der Replikation === | ||
Zeile 101: | Zeile 107: | ||
=== Entfernen des Merkmals Mergepublication der Replikation === | === Entfernen des Merkmals Mergepublication der Replikation === | ||
− | ==== Voraussetzung: im SQL | + | ==== Voraussetzung: im SQL Server Direktänderungen erlauben ==== |
<source lang="tsql"> | <source lang="tsql"> | ||
EXEC master.dbo.sp_configure N'allow updates', N'1' | EXEC master.dbo.sp_configure N'allow updates', N'1' | ||
Zeile 133: | Zeile 139: | ||
[[Kategorie:Replikation]] | [[Kategorie:Replikation]] | ||
− | [[Kategorie:SQL | + | [[Kategorie:SQL Server]] |
− | + |
Aktuelle Version vom 5. September 2007, 10:29 Uhr
Inhaltsverzeichnis
- 1 Replikation nach DB-Restore entfernen
Replikation nach DB-Restore entfernen
Beschreibung
Eine replizierte Datenbank wurde durch Rücksicherung von BACKUP-File oder MDF/LDF wiederhergestellt. Bei der Sicherung wurden aber die Systemdatenbanken nicht mitgesichert. Folglich muss das Datenbank-Schema von den Replikationsinhalten entfernt werden.
Gehen Sie dazu wie folgt vor...
ACHTUNG: Die hier angegebenen SQL Befehle nur mit ausreichenden Kenntnissen zu SQL Themen ausführen!
Bevor Sie SQL Befehle ausführen, legen Sie eine aktuelle Datensicherung der Datenbank an. Lesen Sie den Artikel SQL Befehl ausführen, um diesen SQL-Befehl korrekt anwenden zu können. |
Datenbank wählen
Die replizierte Datenbank muss zuerst ausgewählt werden.
use InfoAgent
Entfernen aller Trigger der Replikation
declare @trigname nvarchar(300) declare @sql nvarchar(300) DECLARE curRS CURSOR FOR select name from sysobjects where xtype = 'tr' and ( name like 'ins_%' or name like 'upd_%' or name like 'del_%' ) order by name Open curRS FETCH NEXT FROM curRS INTO @trigname WHILE (@@FETCH_Status = 0 ) begin set @sql = 'drop trigger ' + @trigname execute sp_executesql @sql FETCH NEXT FROM curRS INTO @trigname END CLOSE curRS DEALLOCATE curRS
Entfernen aller Systemtabellen der Replikation
declare @trigname nvarchar(300) declare @sql nvarchar(300) DECLARE curRS CURSOR FOR select name from sysobjects where name like 'conflict_%' or name like 'MSMerge_%' or name like 'MSrepl_%' or name like 'msdynamicsnapshot%' order by name Open curRS FETCH NEXT FROM curRS INTO @trigname WHILE (@@FETCH_Status = 0 ) begin set @sql = 'drop table ' + @trigname execute sp_executesql @sql FETCH NEXT FROM curRS INTO @trigname END CLOSE curRS DEALLOCATE curRS
Entfernen aller Stored Procedures der Replikation
declare @trigname nvarchar(300) declare @sql nvarchar(300) DECLARE curRS CURSOR FOR select name from sysobjects where (name like 'sp_%' or name like 'sel_%') and name <> 'sparten' and name <> 'selkennzeichen' order by name Open curRS FETCH NEXT FROM curRS INTO @trigname WHILE (@@FETCH_Status = 0 ) begin set @sql = 'drop procedure ' + @trigname execute sp_executesql @sql FETCH NEXT FROM curRS INTO @trigname END CLOSE curRS DEALLOCATE curRS
Entfernen aller Sichten der Replikation
declare @trigname nvarchar(300) declare @sql nvarchar(300) DECLARE curRS CURSOR FOR select name from sysobjects where name like 'ctsv_%' or name like 'tsvw_%' order by name Open curRS FETCH NEXT FROM curRS INTO @trigname WHILE (@@FETCH_Status = 0 ) begin set @sql = 'drop view ' + @trigname execute sp_executesql @sql FETCH NEXT FROM curRS INTO @trigname END CLOSE curRS DEALLOCATE curRS
Entfernen des Merkmals Mergepublication der Replikation
Voraussetzung: im SQL Server Direktänderungen erlauben
EXEC master.dbo.sp_configure N'allow updates', N'1' GO RECONFIGURE WITH OVERRIDE GO
Der eigentliche Update-Befehl
update sysobjects set replinfo = 0 where xtype = 'U' and replinfo = 128
ggf. noch mit ausführen, um die Datenbank-Markierung für Freigabe mit zu entfernen
Datenbankname muss ggf. angepasst werden!!!
update master.dbo.SysDatabases set category = 0 where name = 'InfoAgent-Datenbankname'
Voraussetzung zurücksetzen
EXEC master.dbo.sp_configure N'allow updates', N'0' GO RECONFIGURE WITH OVERRIDE GO