Właśnie mamy nowy serwer, więc muszę skopiować istniejącą instancję programu SQL Server 2008 ze starego okna db.
Zwykle robię to, kopiując pliki .mdf i pliki dziennika i dołączając je, ale nie jestem w stanie usunąć dbs z linii, ponieważ są one używane 24/7, więc wykonałem kopię zapasową baz danych i przywróciłem je na nowym maszyna. Skończyło się jednak na kilku problemach, z których jeden dotyczył osieroconych użytkowników . Dlatego szukam niezawodnego procesu przenoszenia wszystkiego przy minimalnym zamieszaniu / kłopotach / bólu głowy. Jestem deweloperem .Net z dużą ilością SQL pod moim pasem, ale wewnętrzne działanie SQL Servera jest dla mnie w dużej mierze tajemnicą i uważam, że dokumentacja MS jest trudna do włożenia.
Proszę pomóż.
Odpowiedzi:
Jeśli nie możesz przełączyć baz danych w tryb offline, musisz wykonać kopię zapasową / przywrócić. Sugerowałbym następujące:
Jeśli zbudujesz i skonfigurujesz nowe pudełko, aby wyglądało dokładnie tak samo jak stare, będziesz miał minimalne zamieszanie.
Nie mam pojęcia, jak duże są twoje bazy danych, więc ta metoda może zająć dużo czasu. Najprościej jest zamknąć starą skrzynkę i skopiować pliki MDF i LDF, a następnie (po przywróceniu wzorca) wystarczy ponownie uruchomić SQL, aby bazy danych były w trybie online. Stwierdziłeś jednak, że nie jest to możliwe, ponieważ bazy danych nie mogą być w trybie offline.
źródło
Wspominasz o działaniu 24/7, więc najlepszym sposobem na to jest utworzenie kopii lustrzanej bazy danych w nowym systemie, a następnie możesz po prostu przełączyć się z minimalnym - być może zerowym, w zależności od struktury aplikacji - przestojem przy użyciu klienta przekierowanie boczne. Podstawowe kroki to:
WITH NORECOVERY
Utwórz „punkty końcowe” na obu serwerach i zapewnij łączność (np. Reguły zapory), poprawnie ustawiając port i adres IP), np .:
Skonfiguruj kopię lustrzaną na lustrze, wskazując na podstawową:
A na podstawowym, wskazując na lustro (tylko inną nazwę bazy danych i adres IP).
Następnie, gdy nadejdzie czas, po prostu przełącz urządzenie główne na lustro:
Uwaga: Zakładam, że te dwa serwery są w tej samej sieci, więc będzie działać w trybie synchronicznym. Jeśli jest to łącze WAN, użyj trybu asynchronicznego.
źródło