Mam serwer z ponad 300 bazami danych. Nie chcę klikać prawym przyciskiem myszy jeden po drugim i wybierać Usuń.
Jak mogę łatwo usunąć wszystkie bazy danych?
1 odpowiedź
Możesz to zrobić za pomocą graficznego interfejsu użytkownika SSMS. Wybierz węzeł baz danych, a następnie F7, aby wyświetlić Szczegóły Eksploratora obiektów, wybierz wszystkie bazy danych, które chcesz usunąć, naciśnij „Usuń” i wybierz opcje „Zamknij istniejące połączenia” i „Kontynuuj po błędzie”.
Alternatywnie możesz to zrobić za pomocą TSQL
XEC sp_MSforeachdb '
IF DB_ID(''?'') > 4
BEGIN
ALTER DATABASE [?] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DROP DATABASE [?]
END'
Powyższy kod nie został przetestowany z oczywistych powodów. Możesz zastąpić polecenie DROP poleceniami PRINT, aby najpierw to zweryfikuj.
EXEC sp_MSforeachdb '
IF DB_ID(''?'') > 4
BEGIN
PRINT (''
ALTER DATABASE [?] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DROP DATABASE [?]'')
END
'