Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak kopiować bazy danych SQL Server z jednego wystąpienia do drugiego?

Kopiowanie lub przenoszenie baz danych to jedno z najczęstszych zadań profesjonalistów zajmujących się danymi, którzy regularnie zajmują się wdrażaniem skryptów lub nowych rozwiązań w różnych środowiskach. Dzięki SQL Server mamy wiele sposobów, dzięki którym możemy to osiągnąć natywnie bez użycia narzędzi innych firm.

Rozwiązania natywne w ramach SQL Server

Oto kilka sposobów, dzięki którym możemy wykonać to zadanie natywnie w SQL Server:

  • W programie SQL Server zwykle wykonujemy pełne kopie zapasowe bazy danych źródłowej bazy danych, kopiujemy ją na serwer docelowy, a następnie przywracamy. Może to okazać się trudnym zadaniem dla początkujących lub profesjonalistów, którzy nie pełnią roli DBA. Jeśli nie masz odpowiedniego rozwiązania do obsługi skryptów, możesz napotkać problemy i mieć trudności z osiągnięciem tego, mając do czynienia z ogromnymi bazami danych.
  • Inną opcją jest metoda detach\attach. Ta metoda jest powszechnie stosowana, ale znowu musisz być ostrożny podczas pracy z dużymi bazami danych lub bazami danych, które zawierają wiele plików danych lub dzienników. Ponadto źródłowa baza danych przeszłaby w tryb offline podczas korzystania z tego podejścia. Jeśli nie jesteś doświadczonym administratorem baz danych, nadal możesz mieć problemy podczas pracy z dużymi bazami danych.

Istnieją inne opcje, których można użyć, na przykład kreator kopiowania bazy danych lub kreator importu\eksportu danych do celów importu\eksportu danych. Musisz również upewnić się, że loginy i uprawnienia z serwera źródłowego są poprawnie migrowane do serwera docelowego, w przeciwnym razie użytkownicy aplikacji mogą mieć problemy z poprawnym połączeniem z bazą danych.

Korzystanie z dbForge Studio dla SQL Server do kopiowania lub przenoszenia baz danych z jednej instancji do drugiej lub z jednego serwera na inny

Przechodząc do oprogramowania innych firm, Devart's dbForge Studio dla SQL Server ma wbudowaną fajną funkcję do wykonywania kopiowania lub przenoszenia baz danych w kilku prostych krokach. Przyjrzymy się temu procesowi z demonstracją w tym artykule.

Wersja próbna trwa miesiąc i daje wystarczająco dużo czasu na przetestowanie innych funkcjonalności wbudowanych w produkt. W tym demo jest używana wersja próbna Enterprise 5.5.

Po uruchomieniu dbForge Studio pojawi się ten ekran, aby zaktualizować szczegóły połączenia z bazą danych. Dzięki temu będziesz mógł połączyć się z instancją SQL Server.

Aby wykonać dodatkowe połączenia z innymi instancjami SQL, kliknij ikonę, która otworzy okno nowego połączenia z bazą danych.

Poniżej widać, że nawiązałem już połączenie z istniejącą instancją SQL.

Po połączeniu się z instancjami SQL Server możesz wyświetlić bazy danych, które planujesz skopiować lub przenieść między instancjami. W tym demo skopiujemy bazę danych test z instancji SQL:Boulcott do Boulcott\INST2.

Aby skopiować test bazy danych do INST2, przejdź do Synchronizacja bazy danych na głównej karcie i kliknij Kopiuj bazę danych .

Otworzy się okno Kopiuj bazę danych. Tam możesz wprowadzić szczegóły serwera źródłowego i docelowego. W tym demo kopiujemy bazę danych między instancjami znajdującymi się na tym samym komputerze. Możesz również użyć narzędzia dbForge do kopiowania baz danych na różne serwery. Wprowadź dane serwera, jak pokazano, upewnij się, że połączenie się powiodło, a następnie kliknij Dalej .

Po zakończeniu pojawi się lista dostępnych baz danych na serwerze źródłowym. Wybierz bazę danych, którą zamierzasz skopiować. W naszym przykładzie jest to test Baza danych. Wybierz Kopiuj pole wyboru opcji i kliknij Dalej . Tutaj wybrałem tylko jedną bazę danych do skopiowania. Ale narzędzie nie jest ograniczone do jednej bazy danych na raz, ponieważ możemy wybrać wiele baz danych do skopiowania lub przeniesienia w tym samym czasie.

Wybierz opcje lokalizacji docelowej bazy danych

Jak widać, lokalizacje plików danych i dzienników dla docelowej bazy danych można zmienić na te, których zamierzałeś używać. Wartości są generowane automatycznie, ale można je łatwo modyfikować. Można również zmienić nazwę docelowej bazy danych.

Kliknij Dalej . Pojawi się okno Ustawienia przesyłania. Należy upewnić się, że konto agenta programu SQL Server ma wystarczające uprawnienia do wykonania operacji kopiowania. Przeczytaj uważnie tę sekcję, ponieważ może to prowadzić do problemów, jeśli konto agenta programu SQL Server nie ma wymaganych uprawnień. W moim przypadku, ponieważ instancje znajdują się na tym samym serwerze, nie jest wymagany katalog współdzielonych folderów. Jednak katalog folderu współdzielonego z wystarczającymi uprawnieniami dla konta agenta SQL jest wymagany, jeśli musisz skopiować bazę danych między wystąpieniami SQL na różnych serwerach. Po zakończeniu sprawdzania kliknij Dalej .

Na karcie Kopiuj dane logowania możesz wybrać odpowiednią opcję w oparciu o swoje wymagania. Domyślnie Skopiuj wszystkie loginy używane przez wybrane bazy danych jest włączony. Dokonaj odpowiedniego wyboru w swoim przypadku, przejrzyj i kliknij Dalej .

Wykonaj proces kopiowania za pomocą dbForge Studio

Poniższy zrzut ekranu pokazuje, gdzie możesz rozpocząć proces wykonywania zadania kopiowania. Mamy możliwość wyboru rodzajów obsługi błędów możliwych podczas procesu realizacji. Domyślnie pytaj użytkownika o podjęcie działania jest zaznaczone. W tym demo włączyłem również opcję zapisania raportu do pliku dziennika co byłoby przydatne w przypadku wszelkiego rodzaju błędów. Dziennik błędów jest dość szczegółowy i szczegółowo podaje przyczynę niepowodzenia procesu. Po zakończeniu kliknij Wykonaj opcja, która uruchomi proces wykonywania.

Możesz zobaczyć postęp zadania wykonania.

Zakończenie procesu kopiowania

Po zakończeniu procesu zobaczysz to powiadomienie, które potwierdza, że ​​proces kopiowania został zakończony.

Klikając Pokaż plik dziennika opcji, możesz zobaczyć szczegóły wykonania procesu i status wykonanych zadań. Możesz wykonać więcej operacji kopiowania, klikając Kopiuj więcej opcja.

Sprawdź docelową instancję SQL

Następnym krokiem byłoby nawiązanie połączenia z docelową instancją SQL i sprawdzenie, czy baza danych została skopiowana. Na docelowej instancji SQL znajduje się test baza danych, która została pomyślnie skopiowana przy użyciu dbForge Studio dla SQL Server.

Przenieś bazy danych ze źródła do docelowej instancji SQL

Wcześniej udało nam się z powodzeniem skopiować bazę danych z serwera źródłowego na serwer docelowy. Możemy również użyć tego narzędzia i poprzedniej wersji demonstracyjnej, jeśli zamiast tego musisz przenieść bazy danych.

W oknie Wybierz bazy danych wybierz Przenieś opcja.

To w zasadzie spowodowałoby migrację baz danych z serwera źródłowego do docelowego. Wystarczy wykonać opisane wcześniej kroki. Celowo zatrzymałem agenta SQL Server na serwerze docelowym i napotkałem ten ekran błędu.

Po kliknięciu Nie , przeniesie Cię do opcji przeglądania plików dziennika.

Przycisk Pokaż plik dziennika… przeniesie Cię do szczegółowego pliku dziennika, w którym można zidentyfikować faktyczną przyczynę niepowodzenia.

Tutaj możesz dokładnie zobaczyć przyczynę nieudanej operacji. Zobaczysz również, że zadanie agenta SQL zostanie utworzone na serwerze docelowym podczas wykonywania i można je wyświetlić.

To zadanie istnieje tylko przez czas trwania procesu wykonywania i jest usuwane po zakończeniu procesu. Połącz się z instancjami docelowymi i źródłowymi SQL, aby potwierdzić, że bazy danych rzeczywiście zostały przeniesione. Poniższy zrzut ekranu potwierdza, że ​​bazy danych 1 i 2 zostały pomyślnie przeniesione z serwera źródłowego na docelowy.

Skopiuj bazy danych ze źródłowej instancji SQL do docelowej i nadpisz

Do tej pory kopiowaliśmy i przenosiliśmy bazy danych z serwera źródłowego na docelowy. Następnie wykonaj dodatkowy krok, aby skopiować i zastąpić bazy danych WideWorldImporters.

Ten proces jest podobny do poprzednich kroków kopiowania lub przenoszenia baz danych z tylko jednym dodatkowym krokiem, aby wybrać zastąpienie opcja.

Po prostu wykonaj pozostałe kroki, podobnie jak wcześniej, a proces zakończy się sukcesem po jego zakończeniu. Podsumowując, skorzystaj z Kopiuj bazę danych w narzędziu dbForge Studio, możesz wykonać następujące funkcje:

  • Kopiuj bazy danych z serwera źródłowego do docelowego
  • Przenieś bazy danych z serwera źródłowego do docelowego
  • Kopiuj i nadpisuj bazy danych z serwera źródłowego na docelowy
  • Przenieś i nadpisz bazy danych z serwera źródłowego na docelowy

Wniosek

  • Dzięki temu demo widziałeś łatwość, z jaką baza danych może być kopiowana z jednej instancji SQL do drugiej przy bardzo małej ilości danych wejściowych użytkownika przy użyciu dbForge Studio
  • Kolejną zaletą tego narzędzia jest to, że wiele baz danych można kopiować lub przenosić w różnych instancjach jednocześnie
  • Do wykonania tych zadań wymagana jest bardzo niewielka wiedza techniczna, ponieważ narzędzie jest przyjazne dla użytkownika i oparte na graficznym interfejsie użytkownika
  • To narzędzie może być bardzo przydatne, zwłaszcza jeśli wdrażasz wdrożenia szybko w różnych środowiskach serwerów i jeśli czas jest ograniczeniem

Przydatne narzędzie:

dbForge Studio dla SQL Server – potężne IDE do zarządzania, administrowania, rozwoju, raportowania i analizy danych SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odwołaj się do aliasu w innym miejscu na liście WYBIERZ

  2. Procedura składowana wywołań SQL dla każdego wiersza bez użycia kursora

  3. Jak uciec przed znakiem procentu w T-SQL?

  4. Najlepsze rozwiązanie do stronicowania przy użyciu SQL Server 2005?

  5. Nie można użyć predykatu CONTAINS lub FREETEXT w tabeli lub widoku indeksowanym, ponieważ nie jest indeksowany pełnotekstowo