[MSSQL2000] Przeniesienie bazy na inny dysk
waldit@gmail.com - 31-08-2007 00:13
[MSSQL2000] Przeniesienie bazy na inny dysk
Witam
Wystąpiła konieczność szybkiego przeniesienia dużej bazy (80 GB) na inny dysk. Aktualnie baza jest podzielona na kilka dysków ale nie da się już w serwerze dodawać nowych dysków. Zakupiona została zewnętrzna macierz i najlepiej byłoby przenieść bazę w taki sposób aby na macierzy była w jednym kawałku. Jak to najprościej zrobić ? Wstępny pomysł jest taki aby zrobić mirror bazy na macierz a potem odłączyć starą bazę tylko czy to da się zrobić w MSSQL 2000 ?
Waldi
dap - 31-08-2007 00:13
waldit@gmail.com wrote: > Witam > > Wystąpiła konieczność szybkiego przeniesienia dużej bazy (80 GB) na > inny dysk. > Aktualnie baza jest podzielona na kilka dysków ale nie da się już w > serwerze dodawać nowych dysków. Zakupiona została zewnętrzna macierz i > najlepiej byłoby przenieść bazę w taki sposób aby na macierzy była w > jednym kawałku. > Jak to najprościej zrobić ? > Wstępny pomysł jest taki aby zrobić mirror bazy na macierz a potem > odłączyć starą bazę tylko czy to da się zrobić w MSSQL 2000 ?
Jak w jednym kawałku? Mirrorowaniem chcesz coś łączyć?
Przetestujce to najpierw tak: 1)backup 2)restore bazy danych na nowej macierzy 3)restore loga transakcji
I to generalnie powinno wystarczyc, ale jesli macie czas na downtime, to wystarczy wylaczyc baze dane, zrobic detach, skopiowac pliki na macierz i zrobic attach. Potem mozna jeden plik dac na automatczne powiekdzania a z innych kolejno usuwac zawartosc (move contents chyba to sie tak nazywa). Na koncu zrobic shrink file i usunac puste pliki.
Jesli zrobiliscie testowe recovery to mozne to przcwiczyc na sucho (bedzie wiadomo ile to trwa).
dap
waldit@gmail.com - 31-08-2007 00:13
On 30 Sie, 09:37, dap <news...@gazeta.pl> wrote: > wal...@gmail.com wrote: > > Witam > > > Wystąpiła konieczność szybkiego przeniesienia dużej bazy (80 GB) na > > inny dysk. > > Aktualnie baza jest podzielona na kilka dysków ale nie da się jużw > > serwerze dodawać nowych dysków. Zakupiona została zewnętrzna macierz i > > najlepiej byłoby przenieść bazę w taki sposób aby na macierzybyła w > > jednym kawałku. > > Jak to najprościej zrobić ? > > Wstępny pomysł jest taki aby zrobić mirror bazy na macierz a potem > > odłączyć starą bazę tylko czy to da się zrobić w MSSQL 2000 ? > > Jak w jednym kawałku? Mirrorowaniem chcesz coś łączyć? > > Przetestujce to najpierw tak: > 1)backup > 2)restore bazy danych na nowej macierzy > 3)restore loga transakcji > > I to generalnie powinno wystarczyc, ale jesli macie czas na downtime, to > wystarczy wylaczyc baze dane, zrobic detach, skopiowac pliki na macierz > i zrobic attach. Potem mozna jeden plik dac na automatczne powiekdzania > a z innych kolejno usuwac zawartosc (move contents chyba to sie tak > nazywa). Na koncu zrobic shrink file i usunac puste pliki. > > Jesli zrobiliscie testowe recovery to mozne to przcwiczyc na sucho > (bedzie wiadomo ile to trwa). >
Dzięki za odpowiedź.
Z tym mirrorem to miałem na myśli coś co się nazywa "lustrzana kopia bazy danych" ale jak teraz badam wprowadzili to dopiero w wersji 2005. Gdyby użyć tego mechanizmu to można by założyć nową bazę namacierzy i zmirorować ze starą a potem starą odłaczyć. Ale faktycznie - gdyby nawet użyć mirrora to nie dałoby się połączyć.
Na szczęście nie ma większych problemów aby tą bazę pozbawić userów nawet na cały dzień poza tym problemu loga też nie ma ponieważ jestto hurtownia a dane do niej są ładowane DTSem po którym robi się backup a log jest obcinany. Log nie będzie przenoszony na macierz.
Czyli plan byłby taki: 1. detach bazy 2. przenieść pliki na macierz, wszystkie do jakiegoś jednego katalogu 3. attach 4 wybrać jeden plik, powiększyć go i do niego przenosić dane z innych 5 potem zastosować dbcc shrinkfile z opcją emptyfile 6 alter database aby skasować niepotrzebne pliki
Mam tylko problem z pkt. 4 - jak przenieść dane z jednego pliku do drugiego ? Patrzyłem move contents ale nie ma tego w indeksach dokumentacji ani w googlach nie znalazło.
Waldi
dap - 31-08-2007 00:13
> Dzięki za odpowiedź. > > Z tym mirrorem to miałem na myśli coś co się nazywa "lustrzana kopia > bazy danych" ale jak teraz badam wprowadzili to dopiero w wersji 2005. > Gdyby użyć tego mechanizmu to można by założyć nową bazę na macierzy i > zmirorować ze starą a potem starą odłaczyć. Ale faktycznie - gdyby > nawet użyć mirrora to nie dałoby się połączyć. > > Na szczęście nie ma większych problemów aby tą bazę pozbawić userów > nawet na cały dzień poza tym problemu loga też nie ma ponieważ jest to > hurtownia a dane do niej są ładowane DTSem po którym robi się backup a > log jest obcinany. Log nie będzie przenoszony na macierz. > > Czyli plan byłby taki: > 1. detach bazy > 2. przenieść pliki na macierz, wszystkie do jakiegoś jednego katalogu > 3. attach > 4 wybrać jeden plik, powiększyć go i do niego przenosić dane z innych > 5 potem zastosować dbcc shrinkfile z opcją emptyfile > 6 alter database aby skasować niepotrzebne pliki > > Mam tylko problem z pkt. 4 - jak przenieść dane z jednego pliku do > drugiego ? > Patrzyłem move contents ale nie ma tego w indeksach dokumentacji ani w > googlach nie znalazło. > > Waldi
Tak - powinno zadziałać.
Najlepiej zrobić to na testowej bazie danych (albo kopii), ale skoro możesz wyłączyć bazę danych to przez samo kopiowanie pliki raczej się nie uszkodzą.
Co do punktu 4 to ja nie pamiętam komend i napisałe z głowy jaki był cel akcji :), ale chodziło mi o to co napisałeś w punkcie 5 DBCC Shrinkfile z opcja emptyfile. Ona przenosi dane do innego pliku ale w tej samej grupie plikow.
dap
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?=
Dwie bazy czy dwie tabele?
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
=?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?=
[Oracle] Co do tworzenia aplikacji dla bazy Oracle
narzedzie do transferu bazy mysql - mysql
narzedzie do transferu bazy odbc - odbc
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
zanotowane.pldoc.pisz.plpdf.pisz.pllubiatowo.xlx.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 |
|