Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Remove-DbaDatabase

Termin Definicja
Remove-DbaDatabase

Remove-DbaDatabase to polecenie modułu dbatools usuwające bazę danych wraz z jej plikami z poziomu skryptu.

Remove-DbaDatabase w module dbatools i SQL Server

Remove-DbaDatabase jest poleceniem modułu dbatools przeznaczonym do usuwania baz danych z instancji Microsoft SQL Server. Działa z poziomu PowerShella i pozwala wykonać operację administracyjną bez otwierania SQL Server Management Studio. Polecenie może otrzymać nazwę instancji SQL Server za pomocą parametru -SqlInstance oraz jedną lub więcej nazw baz przez parametr -Database.

Przykładowe wywołanie ma postać Remove-DbaDatabase -SqlInstance localhost -Database TestowaBaza. W tym przypadku moduł łączy się z lokalną instancją SQL Server i zleca usunięcie wskazanej bazy. Operacja obejmuje usunięcie bazy z instancji oraz plików przypisanych do niej przez SQL Server, w tym plików danych i dziennika transakcji, o ile silnik ma do nich dostęp i wykonuje usunięcie zgodnie ze swoją konfiguracją. Jest to operacja destrukcyjna, dlatego nie należy traktować tego polecenia jako sposobu na tymczasowe odłączenie bazy.

Wskazanie instancji, bazy i poświadczeń

Parametr -SqlInstance może wskazywać nazwę komputera, nazwę instancji nazwanej albo adres używany przez klienta SQL Server, na przykład SERVER01\SQLEXPRESS. Parametr -Database określa bazę, która ma zostać usunięta. Przy pracy ze skryptem warto podawać nazwę bazy jawnie, zamiast budować ją z niezweryfikowanych danych wejściowych. Zmniejsza to ryzyko usunięcia innego obiektu wskutek literówki, błędnego mapowania środowiska lub pomylenia instancji deweloperskiej z produkcyjną.

Połączenie może korzystać z bieżącego kontekstu uwierzytelniania albo z poświadczeń przekazanych przez -SqlCredential. Konto musi mieć uprawnienia wystarczające do usunięcia wskazanej bazy na danej instancji SQL Server. Samo uruchomienie PowerShella jako administrator systemu Windows nie gwarantuje dostępu administracyjnego do SQL Server, ponieważ uprawnienia silnika baz danych są kontrolowane osobno. W skryptach automatyzujących należy również sprawdzić, czy przekazane poświadczenia dotyczą właściwej instancji i czy nie są przypadkowo używane wobec innego środowiska.

Bezpieczne przygotowanie operacji usuwania

Przed wykonaniem polecenia trzeba potwierdzić nazwę bazy, instancję, środowisko oraz istnienie aktualnej kopii zapasowej. Remove-DbaDatabase nie zastępuje procedury wykonywania backupu i nie powinien być używany jako etap porządkowania bez wcześniejszej weryfikacji, że dane można odtworzyć. Usunięcie bazy może przerwać działanie aplikacji korzystających z SQL Server, a skasowanie plików bazy może uniemożliwić ich późniejsze wykorzystanie bez kopii zapasowej lub innego poprawnego mechanizmu odtworzenia.

Przy testowaniu skryptu można użyć przełącznika -WhatIf, aby sprawdzić planowaną operację bez jej wykonania, o ile dana wersja polecenia i modułu obsługuje ten tryb zgodnie z mechanizmem PowerShell. Przełącznik -Confirm pozwala wymusić dodatkowe potwierdzenie przed wykonaniem czynności. Przy większej liczbie baz można przekazać tablicę nazw, na przykład -Database BazaTestowa1,BazaTestowa2, jednak przed uruchomieniem należy zweryfikować każdą pozycję. Alternatywnie obiekty baz pobrane przez polecenia dbatools mogą zostać przekazane potokiem, jeśli ich typ i wersja modułu są zgodne z oczekiwaniami polecenia.

Kontrola skutków po wykonaniu Remove-DbaDatabase

Po zakończeniu działania skryptu należy sprawdzić komunikaty PowerShella, kod błędu oraz stan instancji SQL Server. Nieudana próba może wynikać między innymi z braku uprawnień, niedostępności instancji, błędnego parametru połączenia, blokady plików albo problemu z samą bazą. W przypadku błędu nie należy automatycznie ponawiać operacji na wielu bazach. Najpierw trzeba ustalić, czy poprzednie wywołanie nie usunęło już części wskazanych obiektów i czy skrypt nie przeszedł do kolejnej pozycji.

W środowisku z laptopem lub komputerem PC polecenie może być używane lokalnie, gdy na urządzeniu działa SQL Server, na przykład SQL Server Express lub Developer, a administrator wykonuje czyszczenie baz testowych. Diagnostyka powinna obejmować połączenie z właściwą instancją, poprawność nazwy bazy, dostępność kopii zapasowej oraz wolne miejsce na dysku po zakończeniu operacji. Przy problemach z lokalnym środowiskiem warto zachować treść polecenia, komunikat błędu i informacje o wersji modułu dbatools oraz SQL Server, ponieważ te dane pozwalają odtworzyć dokładny przebieg czynności podczas naprawy laptopa albo komputera PC.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę