Jeśli baza danych zostanie trwale odłączona od instancji, czy istnieją jakieś zadania czyszczenia, które należy wykonać?
10
Jeśli baza danych zostanie trwale odłączona od instancji, czy istnieją jakieś zadania czyszczenia, które należy wykonać?
Odpowiedzi:
Jeśli odłączysz bazę danych od instancji, będziesz musiał wykonać usunięcie pliku na poziomie systemu operacyjnego. Bezpieczniejszym podejściem jest zamiast tego usunięcie bazy danych.
Sugeruję wykonanie ostatecznej kopii zapasowej bazy danych po przejściu do trybu Tylko do odczytu (ponieważ zapewni to brak aktywności podczas tworzenia kopii zapasowej), po czym usuń ją z systemu za pomocą polecenia Drop Database .
Pełny zestaw poleceń wyglądałby podobnie do następującego:
Następnie poszukaj zadań, które uruchamiały skrypty w bazie danych. Proponuję tylko poczekać, aby zobaczyć, co się nie powiedzie (po czym można wykonać skrypt / usunąć zadanie), ponieważ istnieje wiele sposobów odwoływania się do bazy danych (nie wszystkie są łatwe do zidentyfikowania).
Na koniec będziesz chciał usunąć wszystkich użytkowników z instancji, którzy mieli dostęp tylko do tej bazy danych. Ten skrypt powinien identyfikować tych użytkowników, chociaż wersja Maxa jest znacznie czystsza (nie zdawałem sobie sprawy, że opublikował podejście, dopóki nie zredagowałem mojej odpowiedzi, aby uwzględnić to):
źródło
Poparłem odpowiedź Johna; Chciałbym tylko dodać kilka szczegółów na temat innych przedmiotów, które możesz chcieć posprzątać.
Zadania i alerty agenta programu SQL Server mogą odwoływać się do bazy danych. Ich wyczyszczenie zapobiegnie zgłaszaniu niepotrzebnych błędów.
Usuń wszelkie dane logowania utworzone specjalnie dla bazy danych. Poniższy T-SQL identyfikuje możliwe nazwy kandydatów, które możesz zbadać, aby sprawdzić, czy są one używane. Kod identyfikuje dane logowania, do których nie odwołuje się żadna baza danych.
Dla tej bazy danych mogą istnieć urządzenia do tworzenia kopii zapasowych. Chociaż ich usunięcie nie jest absolutnie konieczne, jeśli nie są używane, powinny one wyeliminować potencjalne przyszłe zamieszanie.
Wyzwalacze na poziomie serwera mogą odwoływać się do bazy danych.
Poszukaj planów konserwacji odwołujących się do bazy danych - zakończą się one niepowodzeniem, jeśli nie zostaną zaktualizowane w celu usunięcia brakującej bazy danych.
źródło
Wszystkie główne punkty zostały już omówione. Poniżej są moje 2 centy:
Odłączenie bazy danych nigdy nie jest trwałym rozwiązaniem, ponieważ miało służyć do przenoszenia plików bazy danych na serwerze lub na inny serwer. Trwałe usunięcie bazy danych można wykonać za pomocą opcji Usuń w SSMS lub polecenia bazy danych DROP, jak wspomniano powyżej.
Zwykle bazy danych celowo utrzymywane w trybie offline i generujące alerty są tymi, które odłączamy i przechowujemy do momentu, aż będzie można je trwale usunąć (usunąć).
Zadanie przed odłączeniem: Uruchom,
sp_helpdb dbname
aby poznać lokalizacje plików.Zadania czyszczenia:
Oprócz Loginów, zadań agentów, wyzwalaczy i wspomnianych już przez Max punktów, na te 2 można również spojrzeć.
źródło