Jakie są powody, aby zatrzymać SQL Server?


9

Wszystko, o czym czytałem, to to, jak potencjalnie szkodliwe może być zatrzymanie programu SQL Server, ponieważ tworzy on zimną pamięć podręczną i zużywa pamięć. Dlaczego więc ktoś chciałby zatrzymać SQL Server? Jeśli możesz podać jakieś linki do artykułów, abym mógł przeczytać więcej na ten temat, byłbym bardzo wdzięczny!

To pytanie zadał mój nauczyciel. O ile nie jest to jakieś podchwytliwe pytanie, absolutnie mnie zaskoczył. Jego dokładne pytanie brzmiało:

Przeprowadź badania za pomocą Internetu i dowiedz się, dlaczego ktoś chciałby zatrzymać SQL Server. Wyjaśnij swoją odpowiedź.

Było to w kontekście naszych badań nad użyciem SQL Server 2008 R2. Nie jestem pewien, czy prosi o oczywistą odpowiedź, czy też czegoś brakuje.


2
Brak prądu? Aktualizacja systemu operacyjnego? Migracja fizycznego serwera? Zasadniczo wszystkie powody, dla których chcesz ponownie uruchomić komputer. A co z aktualizacją samego programu SQL Server, jak zamierzasz to zrobić, gdy jest uruchomiony?
user253751

Odpowiedzi:


22

Brent podał niektóre nieprawidłowe przyczyny zatrzymania usługi, ale są też ważne powody:

  • Ponowne uruchomienie wymagane przez dodatek Service Pack lub inną aktualizację
  • Niektóre zmiany konfiguracji (np. Zmiana konta usługi, zmiany sprzętu, natychmiastowa inicjalizacja pliku, ta lista może trwać kilka tygodni)
  • W klastrze uruchom ponownie, aby wymusić przełączenie awaryjne lub zastosowanie kroczącej poprawki
  • Łatanie systemu Windows

1
Czy mogę zasugerować ulepszenia sprzętu, SSD, pamięci, ...?
McNets

1
Dodałbym również włączanie IFI.
Erik Darling

Jeśli przenosisz systemowe bazy danych z C: na inny dysk, musisz go zatrzymać. Jest jeszcze jeden ważny powód.
SQL_Deadwood

Włączanie grup „Zawsze włączona dostępność” w menedżerze kontroli usług to kolejna.
Kris Gruttemeyer

Niektóre działania wykonywane w programie SQL Server Configuration Manager, na przykład włączenie portu TCP / IP lub nazwanych potoków, również wymagają ponownego uruchomienia usługi.
dlatikay

19

Ponieważ uważają, że występuje problem z pamięcią - SQL Server zużywa całą dostępną pamięć, aż do maksymalnego ustawienia pamięci (a nawet więcej.) Nieświadomi ludzie przechodzą do Menedżera zadań, zobacz SQL Server z dużą ilością pamięci i pomyśl: „Musi wystąpić przeciek pamięci - zatrzymam i zrestartuję SQL Server i zobaczę, co się stanie”. Rzeczywiście, to zwalnia dużo pamięci (ponieważ SQL Server domyślnie nie przydziela jej od razu), więc myślą, że naprawili błąd. Następnie wiesz, że co tydzień ponownie uruchamiają SQL Server.

Ponieważ uważają, że występuje problem z procesorem - zapytania będą zużywać mnóstwo zasobów procesora, szczególnie w przypadku problemów z wąchaniem parametrów. Nieświadomi ludzie próbują połączyć się z serwerem SQL Server, nie wiedząc o dedykowanym połączeniu administracyjnym (DAC), nie mogą się połączyć i po prostu zabrakło opcji. Ponownie uruchamiają się, ponieważ kierownictwo stoi za nimi, szukając szybkiego rozwiązania.

Ponieważ słyszeli, że to naprawia korupcję - gdy ludzie napotykają na problem korupcji, często są gotowi spróbować czegoś, aby to naprawić.

Ponieważ chcą, aby wycofanie zakończyło się - zabijają kwerendę, która przez pewien czas się wycofuje, ponieważ nie wiedzieli, że wycofanie zapytania jest jednowątkowe. Po minutach (lub godzinach) oczekiwania ponownie uruchamiają program SQL Server, myśląc, że wycofanie nie będzie konieczne, gdy ponownie uruchomi się ponownie. Niestety, są w błędzie, a SQL Server po prostu kontynuuje wycofywanie po uruchomieniu.


„Ponieważ chcą wycofania, aby zakończyć”: Pamiętam, że nauczyłem się tej lekcji na własnej skórze.
Michael J Swart

1

Jednym z powodów może być zakup nowego sprzętu i migracja baz danych na ten nowy serwer. Teraz wyłączasz tę instancję serwera SQL na starym urządzeniu (wraz z samym urządzeniem), ponieważ chcesz się upewnić, że nikt się z nim nie łączy

Przeprowadziłeś się do chmury, okno wstępne nie jest już potrzebne, zostało zamknięte, sformatowane i zmienione (jeśli nie za stare)


1

Prawidłowym powodem jest to, że na tym samym serwerze działa inne oprogramowanie, które potrzebuje pamięci, którą posiada serwer SQL, ale działa ono tylko kilka razy w miesiącu.

Na przykład moja żona (księgowa, która chce wiedzieć jak mało (i nie mniej) o serwerze SQL potrzebnym do wykonywania swojej pracy) ma system oparty na serwerze SQL, z którego korzystają 3 osoby, w tym ona, do przetwarzania bardzo dużego zestawu danych, robią to wiele zapytań ad-hock, ale kilka razy w miesiącu muszą uruchomić silnik obliczeniowy na tym samym serwerze i uzyskać dostęp do bazy danych. Silnik obliczeniowy potrzebuje pamięci. Nie mają DBA, nie mogą uzyskać finansowania na więcej sprzętu, nawet gdyby mogli, dział IT (który wie mniej o SQL niż księgowi) potrzebowałby miesięcy na skonfigurowanie nowego sprzętu i zresetowanie SQL serwer pozwala im wykonywać swoje zadania jako księgowi. (System transakcyjny jest osobny.)


Zamiast tego mogą chcieć zmniejszyć i zwiększyć ustawienie maksymalnej pamięci, aby zwolnić trochę pamięci RAM.
Magier

@Magier i jaki jest zwrot z inwestycji księgowej, która uczy się, jak to robić zamiast wykonywać swoją pracę .... (I gdy tylko coś się zmieni, będzie trzeba ustawić różne liczby magiczne, aby ustawić różne czasy.)
Ian Ringrose
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.