Wir hatten zwei Datenbanken auf einer SQL Server 2005-Instanz mit Transaktionsreplikation zwischen ihnen (3 Tabellen als Artikel). Dieser Server fungierte sowohl als Herausgeber als auch als Verteiler.
Dann ist das RAID auf dem Server fehlgeschlagen. Es ist uns jedoch gelungen, fast alle .mdf
Dateien vor dem Absturz zu trennen und zu kopieren .
Nach der Wiederherstellung des Systems haben wir SQL Server neu installiert, Systemdatenbanken (Master, Modell, MSDB) wiederhergestellt und die .mdf
Dateien auf denselben Pfaden abgelegt. Also fing es an.
Das Problem trat bei der Replikation auf. Der Ordner " Lokale Veröffentlichungen " war leer, obwohl der Ordner " Lokale Abonnements " das betreffende Abonnement enthielt. Als ich versuchte, eine neue Publikation hinzuzufügen, bekam ich:
Der Assistent für neue Veröffentlichungen hat beim Abrufen von Veröffentlichungsnamen einen oder mehrere Fehler festgestellt.
Beim Ausführen einer Transact-SQL-Anweisung oder eines Batch-Stapels ist eine Ausnahme aufgetreten. (Microsoft.SqlServer.ConnectionInfo)
Ungültiger Objektname 'dbo.syspublications'. (Microsoft SQL Server, Fehler: 208)
Ich beschloss, das linke Abonnement zu entfernen (was mir schließlich gelang) und die Veröffentlichung und Verteilung auf dem Server zu deaktivieren.
SQL Server konnte die Veröffentlichung und Verteilung auf "someserver" nicht deaktivieren.
Ungültiger Objektname 'dbo.syssubscriptions'. Die Anzahl der Transaktionen nach EXECUTE zeigt an, dass eine Anweisung COMMIT oder ROLLBACK TRANSACTION fehlt. Vorherige Anzahl = 0, aktuelle Anzahl = 1. Die Anzahl der Transaktionen nach EXECUTE zeigt an, dass eine COMMIT- oder ROLLBACK TRANSACTION-Anweisung fehlt. Vorherige Anzahl = 0, aktuelle Anzahl = 1. Die Anzahl der Transaktionen nach EXECUTE zeigt an, dass eine COMMIT- oder ROLLBACK TRANSACTION-Anweisung fehlt. Vorherige Anzahl = 0, aktuelle Anzahl = 1. Die Anzahl der Transaktionen nach EXECUTE zeigt an, dass eine COMMIT- oder ROLLBACK TRANSACTION-Anweisung fehlt. Vorherige Anzahl = 0, aktuelle Anzahl = 1. Die Anzahl der Transaktionen nach EXECUTE zeigt an, dass eine COMMIT- oder ROLLBACK TRANSACTION-Anweisung fehlt. Vorherige Anzahl = 0, aktuelle Anzahl = 1. Der Datenbankkontext wurde in 'master' geändert. (Microsoft SQL Server, Fehler: 208)
Es scheint, dass einige Informationen aus den Systemdatenbanksicherungen nicht wiederhergestellt wurden (wahrscheinlich distribution
fehlt in der Datenbank etwas).
Außerdem habe ich versucht, der Antwort zu folgen, dass die Veröffentlichung und Verteilung nicht deaktiviert werden konnte . Aber ohne Erfolg. Ich habe versucht, syspublications
sowohl in master
als auch zu erstellen distribution
, aber nichts hat sich geändert.
Wie kann ich die Replikation auf diesem Server ausführen?
Es wurde versucht, eine andere Datenbank auf dem Server zu veröffentlichen, und es hat funktioniert. Das Problem scheint also mit der veröffentlichten Datenbank verbunden zu sein. Wie kann ich es löschen, um eine neue Publikation darüber zu erstellen?
System Tables
Im Unterordner der Problemdatenbank fehlen die Replikationstabellen, die beim Veröffentlichen einer Datenbank erstellt werden.
Im Replikationsmonitor werden diese alten Abonnements angezeigt, obwohl sie nicht im Replikationsordner verfügbar sind .