6 Stimmen

Wie kann ich Schemaänderungen an einer gespiegelten Datenbank vornehmen?

Ich habe eine gespiegelte Datenbank, an der ich einige Änderungen vornehmen muss. Hauptsächlich geht es um das Hinzufügen einer Ansicht und einiger gespeicherter Prozeduren. Ich weiß, dass man, wenn man Schemaänderungen vornimmt, die Spiegelung und die gespiegelte Datenbank entfernen, die Änderungen an der Hauptdatenbank vornehmen, dann die Hauptdatenbank sichern und wiederherstellen und die Spiegelung wiederherstellen muss. Gilt dies auch für gespeicherte Verfahren und Ansichten? Kann ich meine Änderungen einfach am Principal vornehmen, dann Failover durchführen und meine Änderungen auch auf dem Mirror vornehmen? Was sind die möglichen Probleme und Auswirkungen einer solchen Vorgehensweise? Es scheint einfach eine sehr mühsame Aufgabe zu sein, die wir jedes Mal durchführen müssen, wenn wir eine kleine Änderung vornehmen wollen, vor allem, weil die Datenbank über 10 Gigabyte groß ist und das Sichern und Wiederherstellen eine Weile dauert.

11voto

Anon246 Punkte 1781

Wenn Sie spiegeln, sollten Sie diese Änderungen auf den Principal anwenden können, so dass sie auch auf der gespiegelten Seite erscheinen. Wenn Sie einen Schemaunterschied zwischen den beiden Datenbanken wünschen, können Sie die Spiegelung nicht verwenden. Möchten Sie Schemaänderungen nur auf die gespiegelte Datenbank oder auf beide anwenden? Wenn beide, dann müssen Sie nichts Besonderes tun.

2voto

Remus Rusanu Punkte 280155

Ich weiß jetzt, dass man, wenn man das Schema Änderungen vornehmen, sollten Sie die Spiegelung und die Spiegeldatenbank entfernen, Ihre Änderungen am Principal vornehmen, dann den Principal sichern und wiederherstellen und Spiegelung wiederherstellen

Das ist eigentlich falsch. Die Haupt- und die Spiegeldatenbank sind in Wirklichkeit eine einzige Datenbank, die an zwei physischen Orten gespeichert ist. Jede y jede Die Veränderung, die im Auftraggeber stattfindet, findet auch im Spiegel statt. Sie sind buchstäblich die ganze Zeit identisch.

Alle Schemaänderungen, einschließlich Tabellen, Ansichten, Prozeduren, Funktionen, Schemata, Datenbankprinzipale, Baugruppen usw., werden also sowohl auf dem Prinzipal als auch auf dem Mirror vorgenommen.

Die einzigen Änderungen, die besondere Aufmerksamkeit erfordern, sind Änderungen, die zugehörige in die Datenbank eingegeben werden, aber nicht in der Datenbank vorkommen: Agentenaufträge (sie befinden sich in der msdb), Server-Principals (Logins), Replikationseinstellungen (sie befinden sich überall in der Datenbank, in der msdb und im Verteiler.

1voto

pipTheGeek Punkte 2663

Wir haben Schemaänderungen sowohl auf eine ausgelagerte als auch auf eine gespiegelte Datenbank angewendet und mussten keine besonderen Maßnahmen ergreifen.
Einige Formen der Vervielfältigung erfordern jedoch spezielle Messtechniken.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X