SQL 2005 Replikation: Datenbank kaum ansprechbar

21/11/2008 - 10:50 von Thomas K. | Report spam
Hallo Gemeinde,

ich bin dabei ein großes Servernetz aufzubauen.
- Windows Server
- VPN-Verbindung
- SQL 2005 Standard
- Mergereplikation, Verleger und Abonnementen auf Server eingerichtet
- Datenbankgröße ca. 3 GB, die größten tabellen haben ca. 1 Million Eintràge

Zur Zeit habe ich eine Zentrale und 2 Filialen. Auf der Zentrale wenig
gearbeitet, auf den Filialen viel. Die Replikation selber làuft seit
mehreren Wochen relativ problemlos.
Nun habe ich auf der Zentrale ein SQL-Statement abgesetzt, das auf einer
Tabelle mit 900.000 Zeilen ein Update durchführt. Für jede Zeile wird
eine Summe aus einer anderen Tabelle geholt. Dieses Skript lief ca. 5
Minuten und war dann fertig. Nun fing die Zentrale an diese Änderung auf
die beiden Filialen zu replizieren. So weit ich erkennen konnte, war der
Vorgang bei der einen Filiale nach ca 17 Stunden fertig. Bei der Anderen
Filiale habe ich im Replikationsmonitor nach 22 Stunden einen Fehler
festgestellt (tut jetzt wahrscheinlich nichts zur Sache) und dann
"Synchronistion starten" gedrückt.

Frage 1: Kann der Vorgang beschleunigt werden? 900.000 Datensàtz zu
replizieren sollte doch schneller gehen.

Wàhrend jetzt die Replikation làuft, benötigt eine Procedure die mir nur
eine Zahl liefert auf der Konsole fast 5 Minuten anstatt weniger als 1
Sekunde wie sonst üblich.

Frage 2: (wichtiger) Kann ich für normale Datenbankzugriffe eine
Prioritàt festlegen, damit einfache Befehl sofort ausgeführt werden
können? Ob die Massen-Replikation nun 10 lànger braucht oder nicht ist
ja völlig egal.


Für Ideen wàre ich sehr dankbar
Gruß Thomas K.
 

Lesen sie die antworten

#1 Olaf Helper
21/11/2008 - 12:19 | Warnen spam
Hallo Thomas,

Frage 1: Kann der Vorgang beschleunigt werden? 900.000 Datensàtz zu
replizieren sollte doch schneller gehen.


Das es so langsam geht, kenne ich eigentlich nur, wenn die Verbindung über
das "Named Pipe" Protokoll làuft, mit TCP/IP sollte es fixer gehen.
Prüf mal im "Aktivity Monitor", welches Protokoll die Replikation nutzt.

Frage 2: (wichtiger) Kann ich für normale Datenbankzugriffe eine
Prioritàt festlegen, damit einfache Befehl sofort ausgeführt werden
können? Ob die Massen-Replikation nun 10 lànger braucht oder nicht ist
ja völlig egal.


Das geht erst ab SQL Server 2008, da gibt es den "Resource Governor", über
den man das Regeln kann; in SQL Server 2005 geht es nicht.


ein SQL-Statement abgesetzt, das auf einer
Tabelle mit 900.000 Zeilen ein Update durchführt


Kleiner Tipp, immer nur eine geringe Anzahl Datensàtze updaten, das belastet
das System nicht (ehrlich, 1x900k dauert lànger als 100x9k, unabhàngig von
der Replikation)

MfG,
Olaf Helper

Ähnliche fragen