Replikacja bazy MSSQL
Adam Kochanowski - 14-07-2007 00:02
Witam, mam taki problem - mam obecnie bazę na MSSQL 2000 (z pakietu Win2k3 SBS PREMIUM). Stawiam nowy serwerek - Podobnie na Win2k3 SBS z MSSQL 2005. Nowy serwer ma pracować jako podstawowy, stary docelowo być jego kopią zapasową. W związku z tym mam pytanie - czy da się zrobić replikację bazy z tego MSSQL 2005 na MSSQL 2000? Jeśli tak - byłbym wdzięczny za jakiegoś linka do przyzwoitej dokumentacji traktującej o tym.
Replikacja miałaby być jednostronna, tzn. Modyfikacje prowadzone są na podstawowym serwerze, zapasowy ma mieć tylko kopię. Konieczność użycia go może zrodzić się jedynie przy padzie podstawowego (ewentualnie do jakichś skomplikowanych obciążających operacji na bazie - selct'y czyli raporty etc.).
-- Adam K.
Marcin A. Guzowski - 14-07-2007 00:02
Adam Kochanowski wrote: > Witam, > mam taki problem - mam obecnie bazę na MSSQL 2000 (z pakietu Win2k3 SBS > PREMIUM). Stawiam nowy serwerek - Podobnie na Win2k3 SBS z MSSQL 2005. > Nowy serwer ma pracować jako podstawowy, stary docelowo być jego kopią > zapasową. W związku z tym mam pytanie - czy da się zrobić replikację > bazy z tego MSSQL 2005 na MSSQL 2000? Jeśli tak - byłbym wdzięczny za > jakiegoś linka do przyzwoitej dokumentacji traktującej o tym.
Replikację transakcyjną między wersjami 2000 i 2005 da się jak najbardziej postawić. Tak na prawdę najlepszą dokumentację masz na Books Online, choć nie jest ona zorganizowana jako HOWTO.
W razie problemów szukaj odpowiedzi na: microsoft.public.sqlserver.replication
(zadaj pytanie lub przeszukaj archiwum).
> Replikacja miałaby być jednostronna, tzn. Modyfikacje prowadzone są na > podstawowym serwerze, zapasowy ma mieć tylko kopię. Konieczność użycia > go może zrodzić się jedynie przy padzie podstawowego (ewentualnie do > jakichś skomplikowanych obciążających operacji na bazie - selct'y czyli > raporty etc.).
Pamiętaj tylko, że replikacja jako taka nie jest rozwiązaniem high availability (disaster recovery). Takim rozwiązaniem jest np. database mirroring, czyli najkrócej mówiąc ciągły log shipping między serwerem głównym (principalem) a serwerem "zapasowym" (mirrorem). Mirroring oferuje m.in. automatyczny failover. Jeżeli temat Cię zainteresuje, to w sieci znajdziesz o tym na prawdę sporo informacji.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Adam Kochanowski - 17-07-2007 00:00
Marcin A. Guzowski napisał(a): > Adam Kochanowski wrote: >> Witam, >> mam taki problem - mam obecnie bazę na MSSQL 2000 (z pakietu Win2k3 >> SBS PREMIUM). Stawiam nowy serwerek - Podobnie na Win2k3 SBS z MSSQL >> 2005. Nowy serwer ma pracować jako podstawowy, stary docelowo być jego >> kopią zapasową. W związku z tym mam pytanie - czy da się zrobić >> replikację bazy z tego MSSQL 2005 na MSSQL 2000? Jeśli tak - byłbym >> wdzięczny za jakiegoś linka do przyzwoitej dokumentacji traktującej o >> tym. > > Replikację transakcyjną między wersjami 2000 i 2005 da się jak > najbardziej postawić. Tak na prawdę najlepszą dokumentację masz na Books > Online, choć nie jest ona zorganizowana jako HOWTO. > > W razie problemów szukaj odpowiedzi na: > microsoft.public.sqlserver.replication > > (zadaj pytanie lub przeszukaj archiwum). > >> Replikacja miałaby być jednostronna, tzn. Modyfikacje prowadzone są na >> podstawowym serwerze, zapasowy ma mieć tylko kopię. Konieczność użycia >> go może zrodzić się jedynie przy padzie podstawowego (ewentualnie do >> jakichś skomplikowanych obciążających operacji na bazie - selct'y >> czyli raporty etc.). > > Pamiętaj tylko, że replikacja jako taka nie jest rozwiązaniem high > availability (disaster recovery). Takim rozwiązaniem jest np. database > mirroring, czyli najkrócej mówiąc ciągły log shipping między serwerem > głównym (principalem) a serwerem "zapasowym" (mirrorem). Mirroring > oferuje m.in. automatyczny failover. Jeżeli temat Cię zainteresuje, to w > sieci znajdziesz o tym na prawdę sporo informacji. > >
Dzięki. Właśnie o utworznie mirrora mi chodzi. Poszperam trochę, mam nadzieję, że znajdę to co szukam.
-- Adam K.
Adam Kochanowski - 18-07-2007 00:06
Marcin A. Guzowski napisał(a): > Adam Kochanowski wrote: >> Witam, >> mam taki problem - mam obecnie bazę na MSSQL 2000 (z pakietu Win2k3 >> SBS PREMIUM). Stawiam nowy serwerek - Podobnie na Win2k3 SBS z MSSQL >> 2005. Nowy serwer ma pracować jako podstawowy, stary docelowo być jego >> kopią zapasową. W związku z tym mam pytanie - czy da się zrobić >> replikację bazy z tego MSSQL 2005 na MSSQL 2000? Jeśli tak - byłbym >> wdzięczny za jakiegoś linka do przyzwoitej dokumentacji traktującej o >> tym. > > Replikację transakcyjną między wersjami 2000 i 2005 da się jak > najbardziej postawić. Tak na prawdę najlepszą dokumentację masz na Books > Online, choć nie jest ona zorganizowana jako HOWTO. > > W razie problemów szukaj odpowiedzi na: > microsoft.public.sqlserver.replication > > (zadaj pytanie lub przeszukaj archiwum). > >> Replikacja miałaby być jednostronna, tzn. Modyfikacje prowadzone są na >> podstawowym serwerze, zapasowy ma mieć tylko kopię. Konieczność użycia >> go może zrodzić się jedynie przy padzie podstawowego (ewentualnie do >> jakichś skomplikowanych obciążających operacji na bazie - selct'y >> czyli raporty etc.). > > Pamiętaj tylko, że replikacja jako taka nie jest rozwiązaniem high > availability (disaster recovery). Takim rozwiązaniem jest np. database > mirroring, czyli najkrócej mówiąc ciągły log shipping między serwerem > głównym (principalem) a serwerem "zapasowym" (mirrorem). Mirroring > oferuje m.in. automatyczny failover. Jeżeli temat Cię zainteresuje, to w > sieci znajdziesz o tym na prawdę sporo informacji. > > Czy mirroring jest możliwy pomiędzy serwerami 2005 i 2000 bo nie bardzo udaje mi się znaleźć odpowiedzi...
-- Adam K.
Marcin A. Guzowski - 18-07-2007 00:06
Adam Kochanowski wrote: > Czy mirroring jest możliwy pomiędzy serwerami 2005 i 2000 bo nie bardzo > udaje mi się znaleźć odpowiedzi...
Nie, mirroring jest dostępny wyłącznie od wersji SQL Server 2005.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Adam Kochanowski - 19-07-2007 00:06
Marcin A. Guzowski napisał(a): > Adam Kochanowski wrote: >> Czy mirroring jest możliwy pomiędzy serwerami 2005 i 2000 bo nie >> bardzo udaje mi się znaleźć odpowiedzi... > > Nie, mirroring jest dostępny wyłącznie od wersji SQL Server 2005.
Czyli zakładając, że bazuję na tym co mam, pozostaje zrzut z SQL 2005 do skryptu SQL i na 2000 wczytanie tego? Czy jeszcze jakieś inne pomysły?
-- Adam K.
Marcin A. Guzowski - 19-07-2007 00:06
Adam Kochanowski wrote: > Marcin A. Guzowski napisał(a): >> Adam Kochanowski wrote: >>> Czy mirroring jest możliwy pomiędzy serwerami 2005 i 2000 bo nie >>> bardzo udaje mi się znaleźć odpowiedzi... >> >> Nie, mirroring jest dostępny wyłącznie od wersji SQL Server 2005. > > Czyli zakładając, że bazuję na tym co mam, pozostaje zrzut z SQL 2005 do > skryptu SQL i na 2000 wczytanie tego? Czy jeszcze jakieś inne pomysły?
Zakładam, że chcesz zabezpieczyć swój serwer SQL2k5 de facto przez redundancję - wprowadzając drugi serwer, który w razie problemów przejmie rolę serwera głównego. Oczywiście jest to rozsądne i wskazane. Trochę nie podoba mi się jedna rzecz - że nie ma tożsamości tego, co chcesz zabezpieczyć (SQL Server 2005) - z tym, czym chcesz zabezpieczyć (SQL Server 2000). Różnic między wersjami 2000 i 2005 jest całkiem sporo i są dość istotne. Nawet, jeśli teraz Twoja logika (po stronie aplikacji lub serwera) działa identycznie i na jednej, i na drugiej wersji - nie zakładałbym, że tak docelowo będzie. Chyba, że przestaniesz rozwijać swoje oprogramowanie i zrezygnujesz z dobrodziejstw, jakie daje SQL Server 2005 (i kolejne wersje). IMHO od odpowiedzi na to pytanie powinieneś zacząć swoje rozważania.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Adam Kochanowski - 20-07-2007 00:03
Marcin A. Guzowski napisał(a):
> Zakładam, że chcesz zabezpieczyć swój serwer SQL2k5 de facto przez > redundancję - wprowadzając drugi serwer, który w razie problemów > przejmie rolę serwera głównego. Oczywiście jest to rozsądne i wskazane.
Tak, dokładnie.
> Trochę nie podoba mi się jedna rzecz - że nie ma tożsamości tego, co > chcesz zabezpieczyć (SQL Server 2005) - z tym, czym chcesz zabezpieczyć > (SQL Server 2000). Różnic między wersjami 2000 i 2005 jest całkiem sporo > i są dość istotne. Nawet, jeśli teraz Twoja logika (po stronie aplikacji > lub serwera) działa identycznie i na jednej, i na drugiej wersji - nie > zakładałbym, że tak docelowo będzie. Chyba, że przestaniesz rozwijać > swoje oprogramowanie i zrezygnujesz z dobrodziejstw, jakie daje SQL > Server 2005 (i kolejne wersje). IMHO od odpowiedzi na to pytanie > powinieneś zacząć swoje rozważania.
Niestety, możliwości finansowe... Dzwoniłem do M$ i powiedzieli mi, że mogę downgradować licencję, więc na razie poleci 2x SQL Server 2000. "Mirroring" - na dzień dzisiejszy, jedyne rozwiązanie jakie widzę, to z wykorzystaniem backupu.
Oprogramowanie pisane jest pod SQL 2k, a firma je tworząca jest na tyle skostniała, że nie prędko dojdzie do wymiany wersji. Z mojego punktu widzenia, takie rozwiązanie byłoby najlepsze, bo kasa musiałaby się znaleźć, jednak na razie nie ma na co liczyć :(
-- Adam K.
Marcin A. Guzowski - 20-07-2007 00:03
Adam Kochanowski wrote: > Niestety, możliwości finansowe... Dzwoniłem do M$ i powiedzieli mi, że > mogę downgradować licencję, więc na razie poleci 2x SQL Server 2000. > "Mirroring" - na dzień dzisiejszy, jedyne rozwiązanie jakie widzę, to z > wykorzystaniem backupu.
Jeżeli masz choć jednego SQL 2k w wersji Enterprise, rozważ jeszcze log shipping: http://support.microsoft.com/kb/323135
Jeżeli masz Standardy, to może pomyśl o replikacji jednokierunkowej, ale działającej nie w trybie online (zdarzeniowo), tylko raz na określony czas (harmonogramowo). Backup i serwer gotowy do przejęcia roli principala to jedna z najmniej skutecznych i efektywnych form zabezpieczenia, ale zawsze to lepsze niż nic - czasem w zupełności wystarcza. Wszystko zależy od potrzeb, zdefiniowania zagrożeń i szeregu innych wyznaczników jak np. akceptowany failover time.
-- Pozdrawiam, Marcin Guzowski http://guzowski.info
Adam Kochanowski - 21-07-2007 00:08
Marcin A. Guzowski napisał(a):
> Jeżeli masz Standardy, to może pomyśl o replikacji jednokierunkowej, ale > działającej nie w trybie online (zdarzeniowo), tylko raz na określony > czas (harmonogramowo). Backup i serwer gotowy do przejęcia roli > principala to jedna z najmniej skutecznych i efektywnych form > zabezpieczenia, ale zawsze to lepsze niż nic - czasem w zupełności > wystarcza. Wszystko zależy od potrzeb, zdefiniowania zagrożeń i szeregu > innych wyznaczników jak np. akceptowany failover time.
Psikusy z maszyną się zdarzały. Niestety, jednostka to skromna budżetówka i z kasą zawsze cieżko. Od zawsze był jeden serwerek - skutek - statystycznie raz w roku mam pad z kilkugodzinnym przestojem. Da się przeżyć, ale chcę zminimalizować przestój do kilkunastu minut, pozatym uniezależnić od siebie. Żeby mnie np. z wakacji nie wyciągali, bo po zwisie serwera wyleciała baza i trzeba ją odtworzyć z backupu. Założenie jest takie - przepinają kabelek i lecą dalej z conajwyżej 1-2 godzinną stratą danych (to jest dopuszczalne).
Jak widzę, bez kasy cudów nie zdziałam, a tej nie ma. Swoją drogą - MSSQL wydaje się być bardzo podatny na awarie systemowe (mam równolegle sporo do czynienia z Mysql i Postgresql i tutaj te zdecydowanie odporniej się zachowują.
Dzięki za pomoc - zabieram się za rzeźbienie.
Aha... SQL to wersja Workgroup (tak by wynikało z dokumentacji) - taki z pakietu WIN2k3 Server Premium SBS.
-- Adam Kochanowski
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?=
MSSQL Express czy Oracle Express
MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
[MSSQL 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?=
[MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
zanotowane.pldoc.pisz.plpdf.pisz.plshutter.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|