Hallo zusammen,
nachdem ich beim googlen keinen Erfolg hatte und nicht den passen Thread gefunden habe, versuche ich mein Problem in diesem Thread zu beschreiben:
Ich habe 2 Server auf denen jeweils eine MS SQL Instanz laufen. Nun muss ich bestimmten von einem Server auf den anderen syncroniseren (Jeweils einmal am Tag muss dieser Abgleich stattfinden). Dazu habe ich mir folgendes Query zusammengebaut (Da hatte mir Google wirklich geholfen):
Diese Statements funktionieren soweit auch ganz gut. Die Tabellen die ich auf dieser Weise "syncronisere" sind extakt gleich, sodass ich sie hier einfach nur [Tabelle] genannt habe. Durch das WHERE Statement werden nur die interessanten Daten übertragen (Da die WHERE Statements immer unterschiedlich sind, habe ich sie hier mit ... gekennzeichnet).
Meine Frage an euch ist:
1. Ist dieses Vorgehen optimal oder kann man das noch optimieren (Laufzeiten von >10 sec. für <100k Datensätze ist keine Seltenheit)?
2. Diese Quieres werden über die Windows Aufgabenplanung angetriggert, in die Aufgabenplanung ein entsprechendes PHP Script mit diesen Quieres ausführt. Gibt es hier eine bessere Lösung?
3. Kann man eine solche Sysncroniserung nicht direkt durchführen? (Leider habe ich beim SMSS keine solche Funktion gefunden.)
Ich hoffe, ihr könnt mir eine Antwort auf meine Fragen geben.
Viele Grüße und Glückauf
Tobias Billen
nachdem ich beim googlen keinen Erfolg hatte und nicht den passen Thread gefunden habe, versuche ich mein Problem in diesem Thread zu beschreiben:
Ich habe 2 Server auf denen jeweils eine MS SQL Instanz laufen. Nun muss ich bestimmten von einem Server auf den anderen syncroniseren (Jeweils einmal am Tag muss dieser Abgleich stattfinden). Dazu habe ich mir folgendes Query zusammengebaut (Da hatte mir Google wirklich geholfen):
Code:
DELETE FROM [ZielDB].[DBO].[Tabelle];
INSERT INTO [ZielDB].[DBO].[ZielTabelle] SELECT * FROM OPENQUERY(Verbindung, 'SELECT * FROM [AusgangsDB].[DBO].[Tabelle]') WHERE ...
Diese Statements funktionieren soweit auch ganz gut. Die Tabellen die ich auf dieser Weise "syncronisere" sind extakt gleich, sodass ich sie hier einfach nur [Tabelle] genannt habe. Durch das WHERE Statement werden nur die interessanten Daten übertragen (Da die WHERE Statements immer unterschiedlich sind, habe ich sie hier mit ... gekennzeichnet).
Meine Frage an euch ist:
1. Ist dieses Vorgehen optimal oder kann man das noch optimieren (Laufzeiten von >10 sec. für <100k Datensätze ist keine Seltenheit)?
2. Diese Quieres werden über die Windows Aufgabenplanung angetriggert, in die Aufgabenplanung ein entsprechendes PHP Script mit diesen Quieres ausführt. Gibt es hier eine bessere Lösung?
3. Kann man eine solche Sysncroniserung nicht direkt durchführen? (Leider habe ich beim SMSS keine solche Funktion gefunden.)
Ich hoffe, ihr könnt mir eine Antwort auf meine Fragen geben.
Viele Grüße und Glückauf
Tobias Billen