SQL Server i replikacja bazy danych

0

Cześć,
posiadam SQL Server 2016 z dwiema bazami. Nastała konieczność, aby te bazy zreplikować.

Teraz chciałbym aby codziennie o 7 rano BAZA1 jak i BAZA2 była replikowania do nowych baz BAZA1_TEST i BAZA2_TEST. Chodzi o to, aby przez cały dzień mógł pracować na bazach testowych, ale dnia następnego o 7 rano dane z baz testowych były zastąpione nowymi danymi z baz głównych. Taka synchronizacja jednostronna.

Jestem na początku drogi z SQLem i SQL Management Studio 17. Jest tam funkcja replikacji, ale nie wiem zbytnio jak z tego skorzystać.

1

Najprościej będzie zrobić backup, później odtworzyć na bazie testowej https://docs.microsoft.com/en[...]l-server?view=sql-server-2017

0

Na razie tak robię, ale chciałbym to zautomatyzować co by codziennie rano nie przywracać backupu.

0

Nie wiem czy replikacja jest dobrym rozwiązaniem w Twoim przypadku. Zauważ, że jeśli na bazie testowej będą jakieś zapisy, to zmiany na bazie produkcyjnej mogą konfliktować z tymi na bazie testowej i zreplikowanie zmian produkcyjnych może się nie powieść.

Prosty przykład:

  1. Odświeżasz bazę testową z produkcyjnej, uruchamiasz replikację.
  2. 8:00 na testowej ktoś wstawia rekord z ID=3 Value=4 (gdzie ID jest kluczem głównym)
  3. 8:15 na bazie produkcyjnej ktoś wstawia rekord z ID=3 Value=5
  4. Insert jest replikowany na bazę testową => primary key violation

Jak rozumiem, problemem jest automatyzacja odświeżania baz testowych, bo obecnie ręcznie przywracasz bazy z backupu? Patrzyłeś poradniki w sieci? np. https://solutioncenter.apexsq[...]backup-restore-in-sql-server/

0

Przede wszystkim replikacja nie została stworzona do celu w jakim chcesz jej użyć. Jest to po prostu zabezpieczenie dzięki któremu masz praktycznie adhoc kopię bazy danych gotową do uruchomienia (zakładając najprostsze rozwiązanie poprzez log tranzakcji) i aby dobrze wszystko działało na tej kopii nie możesz wykonywać dodatkowych operacji, a będziesz to robił jeżeli zostanie ona podłączona do środowiska developerskiego

0

Zbyt uprościłeś można to zrobić w taki sposób aby działać na kilku bazach jednocześnie. Merge replication więcej tu: https://docs.microsoft.com/pl[...]012/ms152531%28v%3dsql.110%29 Co do zasady się zgadzam i replikację w tym zastosowaniu nie ma sensu

0
yarel napisał(a):

Jak rozumiem, problemem jest automatyzacja odświeżania baz testowych, bo obecnie ręcznie przywracasz bazy z backupu? Patrzyłeś poradniki w sieci? np. https://solutioncenter.apexsq[...]backup-restore-in-sql-server/

Dokładnie jest tak jak opisałeś i dzięki za linka do rozwiązania problemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0