Zatrzymywanie bazy danych SQL Azure, gdy nie jest używana

99

Czy istnieje sposób na zatrzymanie bazy danych SQL Azure, aby nie obciążała naszego konta żadnych opłat? Nie chcę go usuwać, tylko podczas testowania i nie jest używany, ale ustawiliśmy go na „zatrzymany”, tak jak możemy to zrobić w przypadku witryn internetowych, usług w chmurze i maszyn wirtualnych.

Matt
źródło

Odpowiedzi:

117

Na dzień 10 listopada 2020 r. Odpowiedź brzmi: nie.

Nie pozwolą na to. Dlatego rozliczenia będą kontynuowane dla Twojej usługi Azure Database od dnia jej utworzenia. Naprawdę nie ma sposobu, aby wstrzymać / zatrzymać rozliczanie usługi Azure SQL Database.

Oficjalne źródło: feedback.azure.com Dodaj możliwość tymczasowego wyłączania / włączania serwera SQL Azure w celu wstrzymania rozliczeń

Wydaje się, że oficjalna odpowiedź Microsoftu brzmi: „Tak, możesz wyeksportować swoją bazę danych. Usuń bazę danych Azure SQL, a to wstrzyma rozliczenia. Następnie, gdy będziesz tego potrzebować, możesz utworzyć nową bazę danych i zaimportować wcześniej wyeksportowaną bazę danych”.

Uważam, że nie jest to akceptowalne jako odpowiedź na „Pozwól mi tymczasowo wyłączyć SQL Server, aby zaoszczędzić na moich rozliczeniach”

wprowadź opis obrazu tutaj

siedmiodniowa żałoba
źródło
11
Nie. A co, jeśli wynajmujesz tylko instancję SQL Server, a nie całą maszynę wirtualną? Nie możesz „wstrzymać” serwera SQL. Po to jest bilet na connect i to pytanie.
Shiva
4
Dziękujemy za aktualizację odpowiedzi co kilka dni!
Zenuka
3
To wstyd. Dziękuję za twoją opinię, bezpośrednią i jasną.
Striter Alfa
1
Prawdopodobnie warto to zaktualizować od maja 2019 r., Teraz masz możliwość skorzystania z warstwy `` bezserwerowej '' Azure SQL DB. Szczegóły tutaj: docs.microsoft.com/en-au/azure/sql-database/…
Simon W
1
W porządku, ale zero kosztów się nie wydarzy. Po zatrzymaniu maszyny wirtualnej na platformie Azure nadal płacisz za magazyn dla dysków maszyny wirtualnej i nie ma funkcji zatrzymania zerowych kosztów dla usługi Azure App Service (w tym witryn sieci Web), ponieważ podstawowy plan usługi App Service nadal nalicza opłaty.
Simon W
26

Obecnie nie ma takiej opcji - jedynym wyborem, jaki masz, jest zmniejszenie rozmiaru Azure SQL Database, co zmniejszy koszt usługi od następnej godziny. Jeśli naprawdę nie chcesz płacić za bazę danych, możesz wykonać kopię zapasową bazy danych w magazynie obiektów blob, usunąć bazę danych, a następnie przywrócić ją w razie potrzeby. Możesz to zaaranżować za pomocą PowerShell lub podobnego.

Aktualizacja z maja 2019 r .: Wkrótce pojawi się nowa warstwa „bezserwerowej” bazy danych Azure SQL Database, która może spełniać niektóre wymagania dotyczące redukcji kosztów przez brak rozliczania, gdy nie jest używana. Oficjalna dokumentacja jest dostępna do przeczytania .

Simon W.
źródło
3
Wygląda na to, że jest ono aktualne na dzień dzisiejszy. Nigdzie nie widzę opcji, a Google potwierdza to samo.
leeman24
10

Kopie zapasowe baz danych są tworzone automatycznie tuż przed upuszczeniem. więc możesz go po prostu upuścić, gdy nie jest potrzebny i przywrócić go w razie potrzeby. Przywracanie zajmie trochę czasu w zależności od rozmiaru bazy danych i ilości wygenerowanego dziennika, więc nie będzie to szybkie w przypadku dużych baz danych.

Ponadto istnieje polityka wygasania czasu przechowywania kopii zapasowych (w zależności od warstwy usługi), więc po prostu uważaj na to.

https://msdn.microsoft.com/en-us/library/azure/jj650016.aspx

Hari Krishna S.
źródło
7

Zespół Azure SQL Database z przyjemnością ogłasza, że ​​istnieje teraz opcja, która może odpowiedzieć na Twoje żądanie. Właśnie ogłosiliśmy opcję „bezserwerową” dla Azure SQL DB, która wstrzyma bazę danych, gdy nie jest używana. Możesz przeczytać więcej o tej funkcji tutaj: SQL Database Serverless

Conor Cunningham MSFT
źródło
Nie wydaje się, aby funkcja „Auto Pause” działała. Mam bezserwerową bazę danych. Pole wyboru „Włącz automatyczne wstrzymywanie” jest zaznaczone, a przedział czasu jest ustawiony na 1 godzinę. Właśnie wróciłem z długich wakacji i zauważyłem, że baza danych SQL przez wszystkie te dni zużywała sekundy rdzeni wirtualnych. Nie zgłoszono żadnych żądań, aplikacja korzystająca z tej bazy danych nie była aktywna. Wykres na stronie Przegląd pokazuje stałe użycie procesora ~ 0,007%. Nie mam pojęcia, jak zapobiec zużyciu procesora, gdy jest bezczynny.
Andrew Simontsev
Po dodatkowych badaniach i tym wątku: stackoverflow.com/questions/57909700/… dowiedziałem się, że problem dotyczy poziomu aplikacji. Przepraszam za fałszywy alarm.
Andrew Simontsev
Wow, to świetna opcja. Dużo taniej i szybciej po przejściu na to dla mojej deweloperskiej bazy danych. Dzięki!
faddison
Należy pamiętać, że podstawowa opcja bezserwerowa jest droższa (na sekundę) niż porównywalny serwer „aprowizowany” i znacznie więcej niż opcje standardowa i podstawowa . Na przykład najtańsza opcja „bezserwerowa”, działająca w pełnym wymiarze godzin, będzie kosztować 425 USD miesięcznie. Jeśli masz bazę danych, która musi być online tylko przez kilka minut w miesiącu - tak jak ja - to w porządku. Jeśli w innym przypadku korzystasz z porównywalnej bazy danych z obsługą administracyjną ogólnego przeznaczenia , ale spodziewasz się, że będzie działać średnio mniej niż 90% czasu, to również jest w porządku. Jednak w innych scenariuszach może to być dość kosztowne.
Jeremy Caney
Tak więc w przypadku deweloperskiej bazy danych podstawowa baza danych będzie kosztować 5 USD miesięcznie. Dzięki bezserwerowej bazie danych otrzymujesz osiem godzin za tę samą cenę. Jeśli nie tworzysz aktywnie w bazie danych i potrzebujesz jej tylko okazjonalnie, np. Do testowania poprawki w ramach ciągłej konserwacji, to prawdopodobnie w porządku. Ale jeśli aktywnie się przeciwko niemu rozwijasz, to będzie dużo droższe niż podstawowa baza danych, chyba że w innym przypadku potrzebowałbyś wielu jednostek DTU dla swojej deweloperskiej bazy danych.
Jeremy Caney
3

Jest to teraz możliwe, a funkcja podglądu jest publiczna. Azure SQL Database bez serwera

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless

Pwd9000
źródło
Opcja bezserwerowa zapewnia dużą elastyczność i nie powoduje naliczania opłat, chyba że jest faktycznie używana. Jest to świetne rozwiązanie w przypadku baz danych, które z czasem są mało używane. Czas rozruchu po przejściu w stan gotowości jest jednak czynnikiem, który należy wziąć pod uwagę. Jednak do celów rozwojowych jest to doskonałe.
Greg Gum
2

Podczas gdy w tej małej skali (wymaganie zmniejszania skali (wstrzymanie) zamiast skalowania w górę), SQL działający na maszynie wirtualnej może być dla Ciebie lepszą odpowiedzią ...

Szymon
źródło
2

Zgadzam się z odpowiedzią @Shiva. Ale jeśli po prostu wypróbowujesz program SQL Server na maszynie wirtualnej platformy Azure, nie chcesz ponosić opłat za przypadkowe pozostawienie go uruchomionego na weekend lub tygodnie. Jednym z rozwiązań jest użycie funkcji automatycznego wyłączania .

wprowadź opis obrazu tutaj

Sami
źródło
2

Nie możesz obniżyć opłaty do zera, ale prawie ...
Jeśli spróbujesz tego polecenia SQL:

alter DATABASE myDB modify (EDITION = 'Basic') 

lub

alter DATABASE myDB modify (EDITION = 'Standard', SERVICE_OBJECTIVE = 'S0', MAXSIZE = 10 gb)

wtedy koszt może spaść do około 5 USD miesięcznie (w zależności od rozmiaru bazy danych).
Po powrocie do pracy nad bazą danych wystarczy uruchomić

alter DATABASE myDB modify (EDITION = 'Standard', SERVICE_OBJECTIVE = 'S2', MAXSIZE = 10 gb)

i po kilku minutach wszystko wróci do normy .

Jeśli masz więcej niż jedną bazę danych, możesz użyć opcji Elastic Pool, aby obniżyć również całkowity koszt.

Henrik Staun Poulsen
źródło
1

Ponieważ nie jest obsługiwany, istnieje kilka obejść. To naprawdę zależy od tego, jak długo chcesz go zatrzymać i jak natychmiast chcesz, a także od rozmiaru bazy danych. Jeśli trwa to kilka godzin, może nie być tego warte, ponieważ rozliczenie jest naliczane co godzinę i możesz mieć problemy z zaokrągleniem. Jeśli dni, możesz go upuścić i przywrócić w razie potrzeby. Jeśli tygodnie, to kolejną opcją jest eksportowanie bazy danych i importowanie w razie potrzeby. Możesz również sprawdzić strategię tworzenia kopii zapasowych dla wybranej edycji, zanim zdecydujesz się na eksport / przywracanie. Inną rzeczą, na którą należy zwrócić uwagę, jest pilna potrzeba a planowana. Jeśli jest to natychmiastowe, a baza danych jest duża, upewnij się, że obowiązujące umowy SLA działają dla Ciebie

Sirisha Chamarthi
źródło
1

Możesz wyeksportować bazę danych do magazynu Azure i zaimportować ją, gdy chcesz ją ponownie włączyć, zgodnie z sugestią tutaj:

Tymczasowo wyłącz opcję sql

noelicus
źródło
0

Tak, możesz dzięki Azure Serverless SQL Database. Chociaż zasoby obliczeniowe zostaną zawieszone, gdy baza danych nie jest używana, na pewno zaoszczędzisz koszty zasobów obliczeniowych, jednak naliczanie opłat za zasoby magazynu będzie kontynuowane. Możesz ustawić nieaktywny limit czasu dla bazy danych, po którym zasoby obliczeniowe zostaną zawieszone. Ten limit czasu może wynosić zaledwie 1 godzinę.

Przeczytaj to: https://azure.microsoft.com/en-in/updates/update-to-azure-sql-database-serverless-providing-even-greater-price-optimization/

Ajay Narvekar
źródło
-1

Oto, co zrobiłem z moją bazą danych Azure (20.04.19)

Skalowałem DTU bazy danych tak nisko, jak to możliwe, jednocześnie rezerwując do 250 GB, co okazuje się być 10 DTU przy szacowanym koszcie 1,50 za DTU (szacowany na 15 USD miesięcznie). Dla mnie to prawie tak dobre, jak wyłączanie i włączanie. Mogę skalować go do 100 DTU, gdy chcę uzyskać więcej przetwarzania, i zmniejszać, gdy tego nie chcę. Nawet przy 100 DTU przez cały miesiąc koszt mojej testowej bazy danych wyniósł tylko 75,93 USD w zeszłym miesiącu.

UWAGA: NIE używam maszyny wirtualnej do uruchamiania bazy danych, tylko standardowy serwer SQL, który otrzymujesz podczas tworzenia bazy danych na platformie Azure.

Daniel
źródło