Jestem nowy w administrowaniu SQL Server, ale czuję się swobodnie z językiem SQL i tworzeniem pakietów SSIS.
Chcę migrować dane z SQL Server 2005 do 2016.
Moje pytanie brzmi: czy muszę się martwić o systemowe bazy danych i inne obiekty, takie jak indeksy, procedury składowane, widok, bezpieczeństwo i uprawnienia. loguje się, czy mogę po prostu migrować dane.
Co byłoby zalecaną procedurą w tym przypadku.
Odpowiedzi:
Max udzielił przyzwoitej odpowiedzi, którą będę głosować, gdy skończę pisać ten alternatywny widok.
Nie jestem fanem przywracania systemowych baz danych podczas migracji uaktualnień i wolę przeprowadzać migracje zamiast uaktualnień w miejscu, o czym mówiłem w tej długiej odpowiedzi na inne pytanie.
Zasadniczo lubię zaczynać „świeżo” podczas migracji. Uważam, że granie z migracjami systemowych baz danych i aktualizacjami poprzez przywracanie czasami powoduje frustrację przywracaniem i może przenosić potencjalne grzechy.
Pytałeś także o indeksy, procedury składowane, widoki. Wszystkie elementy na poziomie bazy danych powinny znajdować się w bazie danych użytkowników. Kiedy więc przywrócisz bazę danych X na nowy serwer, wszystkie obiekty bazy danych (tabele, użytkownicy, widoki, procesy, funkcje itp.) Również tam będą.
W systemowych bazach danych znajdują się zadania, dane logowania, alerty, połączone serwery, klucze szyfrowania itp. Elementy poziomu instancji.
Lubię je przeglądać i migrować ponad to, czego potrzebuję, używając różnych skryptów - ostatnio są to skrypty DBATools.Io PowerShell. Lubię używać ich skryptu do kopiowania loginów SQL, zwłaszcza, że obsługuje on uwierzytelnionych użytkowników SQL, zachowując ich hasła i identyfikatory bezpieczeństwa tak, aby użytkownicy bazy danych z tych loginów działali. Mają także całe polecenie migracji programu SQL Server, które uruchamia polecenia podrzędne, aby skopiować elementy, które zwykle kopiowałbym.
Nie wierzę, że Max się myli z tą odpowiedzią, stąd opinia. Właśnie odniosłem większy sukces i więcej szczęścia i czuję się bardziej swobodnie migrując do nowego zamiast próbować przywracać systemowe bazy danych między wersjami. Powiedziałbym, że szczerze mówiąc, nie pamiętam, kiedy po raz ostatni przeprowadziłem migrację aktualizacji wersji i nie zrobiłem tego w ten sposób zamiast przywracania systemowych baz danych.
źródło
Jeśli chcesz uzyskać dostęp do metadanych przechowywanych w tych bazach danych, warto rozważyć migrację systemowych baz danych (master, msdb i być może model).
Master przechowuje takie elementy, jak dane logowania, certyfikaty bezpieczeństwa itp.
msdb zawiera szczegółowe informacje o kopiach zapasowych i przechowuje konfiguracje zadań SQL Server Agent, między innymi szczegóły.
Model mógł zostać dostosowany przez Ciebie lub Twój zespół, aby pozwolić, aby nowo utworzone puste bazy danych zawierały zestaw predefiniowanych obiektów używanych w każdej bazie danych.
Migracja systemowych baz danych może być wykonana dość łatwo; szczegółowe instrukcje są dostępne w witrynie MSDN na stronie Tworzenie kopii zapasowych i przywracanie systemowych baz danych (SQL Server) .
W zależności od wymagań można wykonać
BACKUP DATABASE
operację na bazach danych użytkowników w instancji 2005, a następnieRESTORE DATABASE
w instancji 2016, aby przenieść całą bazę danych, w tym wszystkie dane, indeksy i inne obiekty.Będzie to, przynajmniej początkowo, wymagać takiej samej ilości miejsca zajmowanego przez bazę danych w instancji z 2005 roku. Jednak po przywróceniu bazy danych można skorzystać z kompresji danych, aby znacznie zmniejszyć wymagany rozmiar.
Zobacz Informacje o pracy z kopiami zapasowymi programu SQL Server, aby uzyskać szczegółowe informacje na temat wykonywania kopii zapasowych, i Informacje o scenariuszach przywracania, aby uzyskać szczegółowe informacje na temat przywracania.
źródło
Czy to do 2012 czy 2016 roku? To robi różnicę, IIRC 2012 to przetestowana ścieżka migracji, podczas gdy 2016 nie. W związku z tym znane problemy są udokumentowane i / lub zostaną wykryte przez Doradcę uaktualnienia w 2012 r. Nie przetestowana ścieżka może nadal działać bez żadnych problemów, jest po prostu nieznana. To powiedziawszy, zdecydowanie polecam udać się do 2016 roku. Podejrzewam, że wysiłek będzie prawie taki sam.
Zobacz Czy aktualizujesz z SQL Server 2005? w dokumentacji opcji aktualizacji 2005 i linki do bardzo szczegółowego procesu aktualizacji. Proces aktualizacji został napisany na 2014 r., Ale nadal obowiązuje w 2016 r.
źródło