Beenden von SQL Azure DB bei Nichtverwendung

93

Gibt es eine Möglichkeit, eine SQL Azure-Datenbank zu stoppen, damit unserem Konto nichts belastet wird? Ich möchte es nicht löschen, nur während des Testens und es wird nicht verwendet, als wir es auf "gestoppt" gesetzt haben, wie wir es mit Websites, Cloud-Diensten und VMs tun können.

Matt
quelle

Antworten:

106

Ab dem 20. August 2020 lautet die Antwort Nein.

Sie werden es nicht zulassen. Die Abrechnung für Ihre Azure-Datenbank wird also ab dem Tag fortgesetzt, an dem Sie sie erstellen. Es gibt wirklich keine Möglichkeit, die Abrechnung für Ihre Azure SQL-Datenbank anzuhalten / zu stoppen.

Offizielle Quelle: feedback.azure.com Bitte fügen Sie die Möglichkeit hinzu, den SQL Azure-Server vorübergehend aus- und einzuschalten, um die Abrechnung anzuhalten

Die offizielle Antwort von Microsoft scheint zu lauten: "Ja, Sie können Ihre Datenbank exportieren. Löschen Sie die Azure SQL-Datenbank. Dadurch wird die Abrechnung unterbrochen. Bei Bedarf können Sie eine neue Datenbank erstellen und Ihre zuvor exportierte Datenbank importieren."

Ich glaube nicht, dass dies als Antwort auf "Erlaube mir, SQL Server vorübergehend auszuschalten, um meine Abrechnung zu sparen" akzeptabel ist.

Geben Sie hier die Bildbeschreibung ein

Shiva
quelle
11
Was ist, wenn Sie nur eine SQL Server-Instanz und nicht eine gesamte VM mieten? Sie können einen SQL Server nicht "anhalten". Dafür gibt es das Connect Ticket und diese Frage.
Shiva
4
Vielen Dank, dass Sie Ihre Antwort alle paar Tage aktualisiert haben!
Zenuka
3
Es ist eine Schande. Vielen Dank für Ihre Antwort, direkt und klar.
Striter Alfa
1
Es lohnt sich wahrscheinlich, dies ab Mai 2019 zu aktualisieren. Sie haben jetzt eine Option dafür, indem Sie die Ebene "Serverlos" von Azure SQL DB verwenden. Details hier: docs.microsoft.com/en-au/azure/sql-database/…
Simon W
1
Fair genug, aber es werden keine Kosten entstehen. Wenn Sie eine VM in Azure stoppen, zahlen Sie immer noch für den Speicherplatz für die VM-Festplatten, und es gibt keine kostengünstige Stoppfunktion für Azure App Service (einschließlich Websites), da der zugrunde liegende App Service Plan Sie weiterhin in Rechnung stellt.
Simon W
26

Dies ist heute keine Option. Sie haben nur die Möglichkeit, die Größe der Azure SQL-Datenbank zu reduzieren, wodurch die Kosten ab der nächsten Betriebsstunde gesenkt werden. Wenn Sie wirklich nicht für die Datenbank bezahlen möchten, können Sie die Datenbank im Blob-Speicher sichern, die Datenbank löschen und bei Bedarf wiederherstellen. Sie können dies mit PowerShell oder ähnlichem orchestrieren.

Update Mai 2019: Es gibt eine neue Schicht "Serverless" der Azure SQL-Datenbank, die möglicherweise einige der Anforderungen zur Kostensenkung erfüllt, indem sie nicht abgerechnet wird, wenn sie nicht verwendet wird. Offizielle Dokumentation steht zum Lesen zur Verfügung .

Simon W.
quelle
3
Es sieht so aus, als ob es bis heute noch korrekt ist. Ich sehe die Option nirgendwo und Google bestätigt dasselbe.
Leeman24
10

Die Datenbanken werden kurz vor dem Löschen automatisch gesichert. Sie können es also einfach löschen, wenn Sie es nicht benötigen, und es bei Bedarf wiederherstellen. Die Wiederherstellung dauert einige Zeit, abhängig von der Datenbankgröße und der Anzahl der von Ihnen generierten Protokolle. Daher ist die Wiederherstellung bei großen Datenbanken nicht schnell.

Außerdem gibt es eine Ablaufrichtlinie dafür, wie lange die Sicherungen aufbewahrt werden (abhängig von der Serviceebene). Achten Sie also darauf.

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

Hari Krishna S.
quelle
7

Das Azure SQL-Datenbankteam freut sich bekannt zu geben, dass es jetzt eine Option gibt, mit der Ihre Anfrage beantwortet werden kann. Wir haben gerade eine "serverlose" Option für Azure SQL DB angekündigt, mit der Ihre Datenbank angehalten wird, wenn sie nicht verwendet wird. Weitere Informationen zu dieser Funktion finden Sie hier: SQL Database Serverless

Conor Cunningham MSFT
quelle
Es scheint nicht, dass die "Auto Pause" -Funktion funktioniert. Ich habe eine serverlose Datenbank. Das Kontrollkästchen "Automatische Pause aktivieren" ist aktiviert und der Zeitraum ist auf 1 Stunde festgelegt. Ich bin gerade von den langen Ferien zurückgekommen und habe festgestellt, dass die SQL-Datenbank all diese Tage die vCores-Sekunden verbraucht hat. Es wurden keine Anfragen gestellt, die App, die diese Datenbank verwendet, war nicht aktiv. Das Diagramm auf der Übersichtsseite zeigt eine konstante CPU-Auslastung von ~ 0,007%. Ich habe keine Ahnung, wie ich verhindern kann, dass es im Leerlauf CPU verbraucht.
Andrew Simontsev
Nach weiteren Recherchen und diesem Thread: stackoverflow.com/questions/57909700/… habe ich herausgefunden, dass das Problem auf Anwendungsebene liegt. Entschuldigung für einen Fehlalarm.
Andrew Simontsev
Wow, das ist eine großartige Option. Viel billiger und schneller, nachdem ich für meine Entwicklungsdatenbank darauf umgestellt habe. Vielen Dank!
Faddison
Seien Sie sich bewusst , dass die grundlegende serverless Option teurer ist (pro Sekunde) als der vergleichbare „bereitgestellt“ Server und dramatisch mehr als die Standard - und Grundoptionen. Zum Beispiel kostet die billigste "serverlose" Option, wenn sie Vollzeit ausgeführt wird, 425 US-Dollar pro Monat. Wenn Sie eine Datenbank haben, die - wie ich - nur einige Minuten im Monat online sein muss, ist das in Ordnung. Wenn Sie ansonsten die vergleichbare von General Purpose bereitgestellte Datenbank verwenden würden, aber erwarten, dass sie im Durchschnitt weniger als 90% der Zeit ausgeführt wird, ist dies ebenfalls in Ordnung. In anderen Szenarien kann es jedoch recht teuer sein.
Jeremy Caney
Also, für eine Entwicklungsdatenbank, die Basis wird Datenbank Sie 5 $ kosten / Monat. Mit der serverlosen Datenbank erhalten Sie acht Stunden zum gleichen Preis. Wenn Sie nicht aktiv an der Datenbank arbeiten und diese nur gelegentlich benötigen, um beispielsweise einen Hotfix im Rahmen einer dauerhaften Wartung zu testen, ist dies wahrscheinlich in Ordnung. Aber wenn Sie sich aktiv gegen sie zu entwickeln, es wird sein viel teurer als eine Basis Datenbank, es sei denn , Sie sonst eine Menge DTUs für Ihre Entwicklung Datenbank benötigen würde.
Jeremy Caney
3

Dies ist jetzt möglich und die Vorschaufunktion ist öffentlich. Azure SQL-Datenbank ohne Server

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

Pwd9000
quelle
Die serverlose Option bietet große Flexibilität und wird nur in Rechnung gestellt, wenn sie tatsächlich verwendet wird. Dies ist ideal für Datenbanken, die mit der Zeit nur wenig genutzt werden. Die Startzeit nach dem Standby-Modus ist jedoch ein zu berücksichtigender Faktor. Für Entwicklungszwecke ist dies jedoch hervorragend.
Greg Gum
2

Während bei dieser geringen Skalierung (Skalierungsanforderung (Pause) statt Skalierung) SQL, das in einer VM ausgeführt wird, möglicherweise eine bessere Antwort für Sie ist ...

Simon
quelle
2

Stimmen Sie der @ Shiva-Antwort zu. Wenn Sie SQL Server jedoch einfach auf einer Azure-VM ausprobieren, möchten Sie keine Gebühren erheben, indem Sie es versehentlich über das Wochenende oder die Wochen laufen lassen. Eine Lösung besteht darin, die automatische Abschaltfunktion zu verwenden .

Geben Sie hier die Bildbeschreibung ein

Sami
quelle
2

Sie können die Ladung nicht bis auf Null senken, aber fast ...
Wenn Sie diesen SQL-Befehl versuchen:

alter DATABASE myDB modify (EDITION = 'Basic') 

oder

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

Dann können Ihre Kosten auf etwa 5 USD pro Monat sinken (abhängig von Ihrer Datenbankgröße).
Wenn Sie wieder an Ihrer Datenbank arbeiten, müssen Sie sie nur ausführen

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

und nach ein paar Minuten ist alles wieder normal .

Wenn Sie mehr als eine Datenbank haben, können Sie die Option Elastic Pool verwenden, um auch Ihre Gesamtkosten zu senken.

Henrik Staun Poulsen
quelle
1

Da es nicht unterstützt wird, gibt es jedoch einige Umgehungsmöglichkeiten. Es hängt wirklich davon ab, wie lange Sie es stoppen möchten und wie sofort Sie es möchten und wie groß die Datenbank ist. Wenn es ein paar Stunden dauert, lohnt es sich möglicherweise nicht, da die Abrechnung stündlich erfolgt und Sie möglicherweise Probleme mit der Abrundung haben. Wenn Tage, können Sie es löschen und bei Bedarf wiederherstellen. Wenn Wochen, dann ist das Exportieren der Datenbank und das Importieren bei Bedarf eine weitere Option. Möglicherweise möchten Sie auch die Sicherungsstrategie für die von Ihnen ausgewählte Edition überprüfen, bevor Sie den Export / die Wiederherstellung bevorzugen. Die andere Sache zu beachten ist die unmittelbare Notwendigkeit vs geplant. Wenn dies sofort der Fall ist und die Datenbank groß ist, stellen Sie sicher, dass die vorhandenen SLAs für Sie funktionieren

Sirisha Chamarthi
quelle
1

Sie können die Datenbank in den Azure-Speicher exportieren und importieren, wenn Sie sie wieder aktivieren möchten, wie hier vorgeschlagen:

Schalten Sie SQL vorübergehend aus

Noelicus
quelle
0

Ja, mit Azure Serverless SQL Database. Während Ihre Rechenressourcen angehalten werden, wenn die Datenbank nicht verwendet wird, sparen Sie definitiv die Kosten für Rechenressourcen, die Abrechnung für Speicherressourcen wird jedoch fortgesetzt. Sie können das inaktive Zeitlimit für die Datenbank festlegen, nach dem die Rechenressourcen angehalten werden. Diese Zeitüberschreitung kann nur 1 Stunde betragen.

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

Ajay Narvekar
quelle
-1

Folgendes habe ich mit meiner Azure-Datenbank gemacht (20.04.19)

Ich habe die Datenbank-DTUs so niedrig wie möglich skaliert und dabei bis zu 250 GB reserviert. Dies sind 10 DTUs mit geschätzten Kosten von 1,50 pro DTU (geschätzte 15 USD pro Monat). Für mich ist das fast so gut wie das Ein- und Ausschalten. Ich kann es auf 100 DTUs skalieren, wenn ich mehr Verarbeitung erhalten möchte, und es verkleinern, wenn ich es nicht tue. Selbst bei 100 DTUs für einen ganzen Monat betrugen die Kosten in meiner Testdatenbank im letzten Monat nur 75,93 USD.

ANMERKUNG: Ich verwende KEINE VM zum Ausführen einer Datenbank, sondern nur den Standard-SQL-Server, den Sie beim Erstellen einer Datenbank in Azure erhalten.

Daniel
quelle