Superior1337
Lt. Junior Grade
- Registriert
- Sep. 2006
- Beiträge
- 299
Hallo,
habe ein Szenario wobei 2 MS SQL Datenbanken (DB1 + DB2) in einer MS SQL Server Express 2019 Instanz (SI1) auf einer im LAN hängenden Maschine (M1) laufen.
DB1 hat um die 100MB, DB2 so um die 1GB Größe.
Diese sollen beide repliziert und synchronisiert werden.
Habe ich bisher noch nie gemacht.
Also die DBs sollen auf einem zweiten, vielleicht sogar dritten SQL Server Express 2019 Instanz (SI2 + SI3) auf anderen entfernten Maschinen laufen.
Habe das ganze noch nicht praktisch testen können, will aber in der Theorie schon sicher gehen dass ich es richtig verstehe und vorgehen würde, um dann beim Vor-Ort Termin Zeit einzusparen.
Meiner Recherche nach ist folgendes vorgehen notwendig, gerne berichtigen:
A) (SI1) mit (DB1 + DB2) sind sozusagen der Publisher.
B) In (SI1) unter Replikation einen neuen Distributor erstellen und angeben, dass die Instanz selbst Distributor ist.
C) In (SI1) unter Replikation eine neue Publikation erstellen und dort (DB1 + DB2) auswählen sowie "Transactionale Publikation".
D) Im Wizard von Punkt C) zusätzlich auswählen "Snapshot erstellen" und den Snapshot Agent Dienst mit einem Windows AD User/Admin starten (dort steht man kann auch den SQL Server Agent Account nutzen, soll man aber wg. Security nicht tun).
E) Auf der erstellten Publikation erstelle ich eine neue Subscription und wähle im Wizard die entfernte SQL Express Server Instanz (SI2). Das mache ich nochmal mit einer zweiten Subscription für (SI3).
F) Die SQL Server Express Instanzen (SI2 + SI3) habe ich zuvor auf entfernten Maschinen (M2 + M3) normal installiert und online zugänglich gemacht. Einstellen muss ich da glaube nichts weiter für die Replikation. (?)
Fragen:
1) Ist mein Szenario mit den SQL Express Versionen überhaupt umsetzbar? Habe nur etwas von einer 10GB DB Größe als Grenze gelesen, aber so schnell kommen wir da wohl nicht hin.
2) Bezug nehmend zur Frage 1): Irgendwo stand mal was, durch Replikation wird die DB viel größer. Frage mich warum und ob ich das richtig verstanden habe. Weil normal sollten meine (DB1 + DB2) ja weiterhin nur mit den Daten gefüllt werden wie bisher und der Distributor sollte ja eigentlich nur die Transaktionen kopieren und verteilen. Also meine (DB1 + DB2) unberührt lassen?
3) In meinem Schritt E) bei der Subscription muss man auswählen, ob man die Transaktionen sich per Push geben lässt oder per Pull abholen lässt. Was wäre für mich sinnvoller? Push soll leichter zu administrieren sein und mir fehlt ja wie gesagt die Erfahrung. Aber andererseits stelle ich mir vor, dass Pull vielleicht besser wäre, weil Maschine (M2) z.B. nicht immer an/online sein wird und natürlich keine Transaktionen verloren gehen sollen, was das dann passieren könnte. Sie sollte sich dann wieder synchronisieren wenn sie wieder online kommt.
4) Hat die Replikation großen Einfluss auf die Performance der Maschine (M1)? Die Leute die an der Software arbeiten (max. 10 Leute), sollten natürlich an der Front nichts merken. Es sind vielleicht so 20-30MB neue Daten, die am Tag anfallen.
5) Die Replikation ist ja sicherlich leicht rückzubauen oder? Also dass die DBs (DB1 + DB2) nicht groß verändert werden (falls sie wie in Frage 2 erfragt größer werden), dass sie im normalen Betrieb nicht mehr fehlerfrei genutzt werden können.
6) Eine Zusatzfrage: Wäre es auch möglich die DB auf einer Maschine bei einem Cloudanbieter zu replizieren? Bestimmt oder? Die Frage die ich mir stelle: Wo könnte man das einfach und kostengünstig machen? Habe mal ein Video zu Azure gesehen, aber da kostete ein Win Server + SQL Server direkt 250€ im Monat, falls das stimmt. Das wäre nicht machbar. Gibts gute Alternativen?
Vielen Dank und LG
habe ein Szenario wobei 2 MS SQL Datenbanken (DB1 + DB2) in einer MS SQL Server Express 2019 Instanz (SI1) auf einer im LAN hängenden Maschine (M1) laufen.
DB1 hat um die 100MB, DB2 so um die 1GB Größe.
Diese sollen beide repliziert und synchronisiert werden.
Habe ich bisher noch nie gemacht.
Also die DBs sollen auf einem zweiten, vielleicht sogar dritten SQL Server Express 2019 Instanz (SI2 + SI3) auf anderen entfernten Maschinen laufen.
Habe das ganze noch nicht praktisch testen können, will aber in der Theorie schon sicher gehen dass ich es richtig verstehe und vorgehen würde, um dann beim Vor-Ort Termin Zeit einzusparen.
Meiner Recherche nach ist folgendes vorgehen notwendig, gerne berichtigen:
A) (SI1) mit (DB1 + DB2) sind sozusagen der Publisher.
B) In (SI1) unter Replikation einen neuen Distributor erstellen und angeben, dass die Instanz selbst Distributor ist.
C) In (SI1) unter Replikation eine neue Publikation erstellen und dort (DB1 + DB2) auswählen sowie "Transactionale Publikation".
D) Im Wizard von Punkt C) zusätzlich auswählen "Snapshot erstellen" und den Snapshot Agent Dienst mit einem Windows AD User/Admin starten (dort steht man kann auch den SQL Server Agent Account nutzen, soll man aber wg. Security nicht tun).
E) Auf der erstellten Publikation erstelle ich eine neue Subscription und wähle im Wizard die entfernte SQL Express Server Instanz (SI2). Das mache ich nochmal mit einer zweiten Subscription für (SI3).
F) Die SQL Server Express Instanzen (SI2 + SI3) habe ich zuvor auf entfernten Maschinen (M2 + M3) normal installiert und online zugänglich gemacht. Einstellen muss ich da glaube nichts weiter für die Replikation. (?)
Fragen:
1) Ist mein Szenario mit den SQL Express Versionen überhaupt umsetzbar? Habe nur etwas von einer 10GB DB Größe als Grenze gelesen, aber so schnell kommen wir da wohl nicht hin.
2) Bezug nehmend zur Frage 1): Irgendwo stand mal was, durch Replikation wird die DB viel größer. Frage mich warum und ob ich das richtig verstanden habe. Weil normal sollten meine (DB1 + DB2) ja weiterhin nur mit den Daten gefüllt werden wie bisher und der Distributor sollte ja eigentlich nur die Transaktionen kopieren und verteilen. Also meine (DB1 + DB2) unberührt lassen?
3) In meinem Schritt E) bei der Subscription muss man auswählen, ob man die Transaktionen sich per Push geben lässt oder per Pull abholen lässt. Was wäre für mich sinnvoller? Push soll leichter zu administrieren sein und mir fehlt ja wie gesagt die Erfahrung. Aber andererseits stelle ich mir vor, dass Pull vielleicht besser wäre, weil Maschine (M2) z.B. nicht immer an/online sein wird und natürlich keine Transaktionen verloren gehen sollen, was das dann passieren könnte. Sie sollte sich dann wieder synchronisieren wenn sie wieder online kommt.
4) Hat die Replikation großen Einfluss auf die Performance der Maschine (M1)? Die Leute die an der Software arbeiten (max. 10 Leute), sollten natürlich an der Front nichts merken. Es sind vielleicht so 20-30MB neue Daten, die am Tag anfallen.
5) Die Replikation ist ja sicherlich leicht rückzubauen oder? Also dass die DBs (DB1 + DB2) nicht groß verändert werden (falls sie wie in Frage 2 erfragt größer werden), dass sie im normalen Betrieb nicht mehr fehlerfrei genutzt werden können.
6) Eine Zusatzfrage: Wäre es auch möglich die DB auf einer Maschine bei einem Cloudanbieter zu replizieren? Bestimmt oder? Die Frage die ich mir stelle: Wo könnte man das einfach und kostengünstig machen? Habe mal ein Video zu Azure gesehen, aber da kostete ein Win Server + SQL Server direkt 250€ im Monat, falls das stimmt. Das wäre nicht machbar. Gibts gute Alternativen?
Vielen Dank und LG