Replikation entfernen (SQL): Unterschied zwischen den Versionen
Aus InfoAgent Dokumentation
K (hat Knowledgebase:SQL-Server:Replikation:Entfernen TSQL nach Replikation entfernen per SQL verschoben) |
|||
Zeile 10: | Zeile 10: | ||
− | + | === Entfernen aller Trigger der Replikation === | |
<source lang="tsql"> | <source lang="tsql"> | ||
Zeile 37: | Zeile 37: | ||
− | + | === Entfernen aller Stored Procedures der Replikation === | |
<source lang="tsql"> | <source lang="tsql"> | ||
Zeile 58: | Zeile 58: | ||
− | + | === Entfernen aller Sichten der Replikation === | |
<source lang="tsql"> | <source lang="tsql"> | ||
declare @trigname nvarchar(300) | declare @trigname nvarchar(300) | ||
Zeile 77: | Zeile 77: | ||
</source> | </source> | ||
− | + | === Entfernen des Merkmals Mergepublication der Replikation === | |
==== Voraussetzung: im SQL-Server Direktänderungen erlauben ==== | ==== Voraussetzung: im SQL-Server Direktänderungen erlauben ==== | ||
Zeile 99: | Zeile 99: | ||
GO | GO | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | [[Kategorie:Replikation]] |
Version vom 14. Mai 2007, 14:01 Uhr
Inhaltsverzeichnis
Replikation nach DB-Restore entfernen
Einleitung
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...
SQL-Befehle nur im Microsoft Enterprise Manager bzw. im Microsoft SQL Management Studio
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 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
Voraussetzung zurücksetzen
EXEC master.dbo.sp_configure N'allow updates', N'0' GO RECONFIGURE WITH OVERRIDE GO