De situatie:
We hebben 2 'grote' SQL clusters draaien op 2 Windows 2008 R2 servers. Daarbij opzich zijn geen problemen.
We hebben SQL cluster 1 en SQL Cluster 2, vanuit de organisatie is gevraagd om een DB die op SQL CLuster 2 staat te repliceren naar SQL Cluster 1 (maw van ACC naar PROD omgeving).
Nu, op SQL kan je een replication aanmaken, daarin kan je een aantal opties meenemen, we hebben alles daarin vrij standaard gehouden.
Nadat je de Publication aanmaakt, moet je natuurlijk ook nog de subscription aanmaken en deze laten verbinden met de publisher. Dat opzich werkt ook altijd zonder probleem, er is wel degelijk een werkende verbinding tussen de twee. Je kan op 4 verschillende manieren SQL replicatie laten verlopen, nl.
1: Via snapshots
2: Via Transaction log
3: Via Transaction log + updatable subscription
4: Via Merge
Ondertussen hebben we alle 4 de mogelijkheden reeds overlopen. Ik zal hier kort neerzetten waarom dat ze elkeen niet goed werkten.
1: We hebben een Full-text index nodig op de gerepliceerde DB en die kan niet meegenomen worden, dus kunnen we van deze manier geen gebruik maken of we moeten elke morgen manueel die full text index gaan aanmaken. (is dat misschien wel ergens aanpasbaar?)
2+3: De transaction log methode loopt altijd eventjes goed maar daarna loopt hij altijd ergens fout en moet ik elke keer opnieuw die snapshot laten lopen en een reinitialise doen waarna het weer 2 à 3 dagen goed loopt.
4: Bij Merge lopen we tegen constraint validation errors aan (bv in tabel G moet B altijd groter zijn als A en bij de merge van de DB klopt dat eventjes niet zodoende hij tegen die constraint validation aanloopt, aangezien deze constraints moeten blijven bestaan, is merge ook geen oplossing.
We hebben ook al gedacht om de full backup van de ACC omgeving elke nacht te kopiëren en in de PROD in te laden, maar dan lopen ook weer tegen die Full text index aan die opnieuw gemaakt moet worden.
Heeft er iemand een werkende setup van 2 replicerende DB's waar hij zogezegd 'nooit' meer naar moet omkijken? Zo ja, hoe heb je dat voor elkaar gekregen?
We hebben 2 'grote' SQL clusters draaien op 2 Windows 2008 R2 servers. Daarbij opzich zijn geen problemen.
We hebben SQL cluster 1 en SQL Cluster 2, vanuit de organisatie is gevraagd om een DB die op SQL CLuster 2 staat te repliceren naar SQL Cluster 1 (maw van ACC naar PROD omgeving).
Nu, op SQL kan je een replication aanmaken, daarin kan je een aantal opties meenemen, we hebben alles daarin vrij standaard gehouden.
Nadat je de Publication aanmaakt, moet je natuurlijk ook nog de subscription aanmaken en deze laten verbinden met de publisher. Dat opzich werkt ook altijd zonder probleem, er is wel degelijk een werkende verbinding tussen de twee. Je kan op 4 verschillende manieren SQL replicatie laten verlopen, nl.
1: Via snapshots
2: Via Transaction log
3: Via Transaction log + updatable subscription
4: Via Merge
Ondertussen hebben we alle 4 de mogelijkheden reeds overlopen. Ik zal hier kort neerzetten waarom dat ze elkeen niet goed werkten.
1: We hebben een Full-text index nodig op de gerepliceerde DB en die kan niet meegenomen worden, dus kunnen we van deze manier geen gebruik maken of we moeten elke morgen manueel die full text index gaan aanmaken. (is dat misschien wel ergens aanpasbaar?)
2+3: De transaction log methode loopt altijd eventjes goed maar daarna loopt hij altijd ergens fout en moet ik elke keer opnieuw die snapshot laten lopen en een reinitialise doen waarna het weer 2 à 3 dagen goed loopt.
4: Bij Merge lopen we tegen constraint validation errors aan (bv in tabel G moet B altijd groter zijn als A en bij de merge van de DB klopt dat eventjes niet zodoende hij tegen die constraint validation aanloopt, aangezien deze constraints moeten blijven bestaan, is merge ook geen oplossing.
We hebben ook al gedacht om de full backup van de ACC omgeving elke nacht te kopiëren en in de PROD in te laden, maar dan lopen ook weer tegen die Full text index aan die opnieuw gemaakt moet worden.
Heeft er iemand een werkende setup van 2 replicerende DB's waar hij zogezegd 'nooit' meer naar moet omkijken? Zo ja, hoe heb je dat voor elkaar gekregen?