webentwicklung-frage-antwort-db.com.de

Beenden von SQL Azure DB, wenn es nicht verwendet wird

Gibt es eine Möglichkeit, eine SQL Azure-Datenbank zu stoppen, sodass keine Kosten für unser Konto anfallen? Ich möchte es nicht löschen, nur während des Testens und wenn es nicht verwendet wird, setzen wir es auf "gestoppt", wie wir es mit Websites, Cloud-Diensten und VMs tun können.

Vielen Dank

69
Matt

Ab dem 15. August 2019 lautet die Antwort Nein.

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

Quelle: Bitte fügen Sie die Möglichkeit hinzu, den SQL Azure-Server vorübergehend zu deaktivieren/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, und die Abrechnung wird unterbrochen. Wenn Sie sie benötigen, können Sie eine neue Datenbank erstellen und Ihre zuvor exponierte Datenbank importieren."

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

enter image description here

78
Shiva

Dies ist heute keine Option. Sie haben nur die Möglichkeit, die Azure SQL-Datenbank zu verkleinern, um die Kosten ab der nächsten Servicestunde zu senken. 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 "Serverless" -Schicht für Azure SQL-Datenbanken, die möglicherweise einige der Anforderungen zur Kostensenkung erfüllt, indem sie nicht in Rechnung gestellt werden, wenn sie nicht verwendet werden. Offizielle Dokumentation ist zum Lesen verfügbar .

22
Simon W

Die Datenbanken werden unmittelbar vor dem Ablegen automatisch gesichert. Sie können es also einfach fallen lassen, wenn Sie es nicht benötigen, und es bei Bedarf wiederherstellen. Das Wiederherstellen dauert einige Zeit, abhängig von der Größe der Datenbank und der Anzahl der von Ihnen generierten Protokolle. Daher ist es für große Datenbanken nicht schnell.

Außerdem gibt es eine Ablaufrichtlinie für die Aufbewahrungsdauer der Sicherungen (abhängig von der Serviceebene). Achten Sie also darauf.

https://msdn.Microsoft.com/en-us/library/Azure/jj650016.aspx

9
Hari Krishna S

Da es nicht unterstützt wird, gibt es jedoch einige Workarounds. Es hängt wirklich davon ab, wie lange Sie es anhalten möchten, wie schnell 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 Rundungsprobleme haben. Wenn Tage, dann können Sie es fallen lassen und bei Bedarf wiederherstellen. Wenn Wochen, dann ist das Exportieren der Datenbank und das Importieren bei Bedarf eine andere Option. Sie können auch die Sicherungsstrategie für die ausgewählte Edition überprüfen, bevor Sie den Export/die Wiederherstellung bevorzugen. Die andere Sache zu beachten ist der unmittelbare Bedarf vs geplant. Wenn dies sofort geschieht und die Datenbank groß ist, stellen Sie sicher, dass die vorhandenen SLAs für Sie funktionieren

2

Das Azure SQL-Datenbankteam gibt mit Freude bekannt, 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

Während bei dieser niedrigen Skalierung (Skalierungsanforderung (Pause) statt Hochskalierung) SQL, das innerhalb eines VM) ausgeführt wird, eine bessere Antwort für Sie sein könnte ...

2
simon

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

SQL vorübergehend ausschalten

2
noelicus

Sie können die Ladung nicht vollständig auf Null bringen, 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 nur noch ausführen

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

und nach ein paar Minuten ist alles wieder normal.

Stimmen Sie der Antwort von @Shiva zu. Wenn Sie SQL Server jedoch nur auf einer Azure-VM testen, möchten Sie keine Gebühren erheben, wenn Sie den Server versehentlich über das Wochenende oder die Wochen laufen lassen. Eine Lösung ist die Verwendung von Automatic Shutdown Feature .

enter image description here

1
Sami

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

Ich habe die Datenbank-DTUs so niedrig wie möglich skaliert und gleichzeitig bis zu 250 GB reserviert, was sich als 10 DTUs mit geschätzten Kosten von 1,50 pro DTU (geschätzte 15 USD pro Monat) herausstellt. Für mich ist das fast so gut wie das Ein- und Ausschalten. Ich kann es auf 100 DTUs skalieren, wenn ich mehr Verarbeitung 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 NICHT VM zum Ausführen einer Datenbank, sondern nur den Standard-SQL-Server, den Sie beim Erstellen einer Datenbank in Azure erhalten.

0
Daniel

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

0
Pwd9000