Arresto del database SQL Azure quando non in uso


95

C'è un modo per fermare un database SQL Azure in modo che non addebiti nulla sul nostro account? Non voglio eliminarlo, solo durante il test e non viene utilizzato che lo abbiamo impostato su "arrestato" come possiamo fare con siti Web, servizi cloud e VM.

Risposte:


109

A partire dal 20 agosto 2020, la risposta è No.

Non lo permetteranno. Quindi la fatturazione per il database di Azure continuerà a partire dal giorno in cui lo crei. Non esiste davvero alcun modo per sospendere / interrompere la fatturazione per il database SQL di Azure.

Fonte ufficiale: feedback.azure.com Aggiungere la possibilità di disattivare / attivare temporaneamente il server SQL Azure per sospendere la fatturazione

La risposta ufficiale di Microsoft sembra essere "Sì, puoi esportare il tuo database. Elimina il database SQL di Azure e questo metterà in pausa la fatturazione. Quindi, quando ne avrai bisogno, potrai creare un nuovo database e importare il tuo DB precedentemente esportato".

Non credo che sia accettabile come risposta per "Consentimi di disattivare temporaneamente SQL Server per risparmiare sulla fatturazione"

inserisci qui la descrizione dell'immagine


11
No. Cosa succede se si affitta solo un'istanza di SQL Server e non un'intera VM? Non è possibile "mettere in pausa" un SQL Server. Ecco a cosa serve il ticket di connessione e questa domanda.
Shiva

4
Grazie per aver aggiornato la tua risposta ogni due giorni!
Zenuka

3
È un peccato. Grazie per il tuo awnser, diretto e chiaro.
Striter Alfa

1
Probabilmente vale la pena aggiornarlo a partire da maggio 2019, ora hai un'opzione per questo utilizzando il livello 'serverless' di Azure SQL DB. Dettagli qui: docs.microsoft.com/en-au/azure/sql-database/…
Simon W

1
Abbastanza giusto, ma il costo zero non accadrà. Quando si arresta una macchina virtuale in Azure, si continua a pagare per l'archiviazione per i dischi della macchina virtuale e non esiste una funzione di arresto a costo zero per il servizio app di Azure (inclusi i siti Web) poiché il piano di servizio app sottostante continua a fatturare.
Simon W

26

Questa non è un'opzione oggi: l'unica scelta che hai è ridurre le dimensioni del database SQL di Azure, il che ridurrà il costo dalla prossima ora di servizio. Se davvero non si desidera pagare per il database, è possibile eseguire il backup del database nell'archivio BLOB, eliminare il database e quindi ripristinarlo quando necessario. È possibile orchestrarlo utilizzando PowerShell o simili.

Aggiornamento maggio 2019: è in arrivo un nuovo livello "Serverless" del database SQL di Azure che potrebbe soddisfare alcuni dei requisiti relativi alla riduzione dei costi non fatturando quando non in uso. La documentazione ufficiale è disponibile per la lettura .


3
Sembra che sia ancora accurato ad oggi. Non vedo l'opzione da nessuna parte e Google conferma lo stesso.
leeman24

10

Il backup dei database viene eseguito automaticamente appena prima di un rilascio. quindi, puoi semplicemente rilasciarlo quando non ne hai bisogno e ripristinarlo quando necessario. Il ripristino richiederà del tempo a seconda delle dimensioni del database e della quantità di registro generato, quindi non sarà veloce per i database di grandi dimensioni.

Inoltre, esiste una politica di scadenza su quanto a lungo vengono conservati i backup (dipende dal livello di servizio), quindi fai attenzione.

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


7

Il team del database SQL di Azure è lieto di annunciare che ora è disponibile un'opzione che potrebbe soddisfare la tua richiesta. Abbiamo appena annunciato un'opzione "serverless" per Azure SQL DB che metterà in pausa il database quando non è in uso. Puoi leggere ulteriori informazioni sulla funzionalità qui: SQL Database Serverless


Non sembra che la funzione "Auto Pause" funzioni. Ho un database senza server. La casella di controllo "Abilita pausa automatica" è impostata e il periodo di tempo è impostato su 1 ora. Sono appena tornato dalle lunghe vacanze e ho notato che il database SQL ha consumato i secondi vCores in tutti questi giorni. Non sono state effettuate richieste, l'app che utilizza questo DB non era attiva. Il grafico nella pagina Panoramica mostra un utilizzo costante della CPU ~ 0,007%. Non ho idea di come evitare che consumi la CPU mentre è inattivo.
Andrew Simontsev

Dopo ulteriori ricerche e questo thread: stackoverflow.com/questions/57909700/… Ho scoperto che il problema è a livello di applicazione. Scusa per un falso allarme.
Andrew Simontsev

Wow, questa è un'ottima opzione. Molto più economico e veloce dopo il passaggio a questo per il mio database di sviluppo. Grazie!
faddison

Tenere presente che l'opzione serverless di base è più costosa (al secondo) del server "fornito" comparabile e notevolmente più delle opzioni Standard e Basic . Ad esempio, l'opzione "serverless" più economica, se dovesse funzionare a tempo pieno, costerà $ 425 / mese. Se hai un database che deve essere online solo per pochi minuti al mese, come me, va bene. Se altrimenti utilizzeresti il database con provisioning per utilizzo generico comparabile , ma ti aspetti che venga eseguito in media meno del 90% del tempo, va bene. In altri scenari, tuttavia, può essere piuttosto costoso.
Jeremy Caney

Quindi, per un database di sviluppo, il database di base ti costerà $ 5 al mese. Con il database serverless, ottieni otto ore allo stesso prezzo. Se non stai sviluppando attivamente sul database e ne hai bisogno solo occasionalmente, ad esempio per testare un hotfix come parte di una manutenzione prolungata, probabilmente va bene. Ma se stai sviluppando attivamente contro di esso, sarà molto più costoso di un database di base , a meno che tu non abbia bisogno di molte DTU per il tuo database di sviluppo.
Jeremy Caney

3

Ora è possibile e la funzione di anteprima è pubblica. Database SQL di Azure senza server

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


L'opzione serverless offre una grande flessibilità e non viene fatturata a meno che non venga effettivamente utilizzata. Questo è ottimo per i database che ottengono un basso utilizzo nel tempo. Tuttavia, il tempo di avvio dopo che è entrato in standby è un fattore da tenere in considerazione. Per scopi di sviluppo, questo è comunque eccellente.
Greg Gum,

2

Considerando che, a questa scala ridotta (requisito di ridimensionamento (pausa) piuttosto che scalare), SQL in esecuzione all'interno di una VM potrebbe essere una risposta migliore per te ...


2

D'accordo con la risposta di @Shiva. Ma se stai semplicemente provando SQL Server su una macchina virtuale di Azure, non dovresti incorrere in addebiti lasciandolo accidentalmente in esecuzione nel fine settimana o nelle settimane. Una soluzione è utilizzare la funzione di spegnimento automatico .

inserisci qui la descrizione dell'immagine


2

Non è possibile ottenere l'addebito fino a zero, ma quasi ...
Se provi questo comando SQL:

alter DATABASE myDB modify (EDITION = 'Basic') 

o

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

quindi il tuo costo può scendere a qualcosa come 5 USD al mese (a seconda delle dimensioni del database).
Quando torni a lavorare sul tuo database, devi solo correre

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

e tutto tornerà alla normalità, dopo pochi minuti.

Se hai più di un database, puoi utilizzare l'opzione Elastic Pool per ridurre anche il costo totale.


1

Poiché non è supportato, tuttavia ci sono alcune soluzioni. Dipende davvero da quanto tempo vuoi fermarlo e da quanto immediatamente lo vuoi e dalle dimensioni del database. Se è per un paio d'ore, potrebbe non valerne la pena perché la fatturazione è oraria e potresti avere problemi di arrotondamento. Se giorni, puoi rilasciarlo e ripristinarlo quando necessario. Se settimane, l'esportazione del database e l'importazione quando necessario è un'altra opzione. Inoltre potresti voler controllare la strategia di backup per l'edizione che scegli prima di preferire l'esportazione / ripristino. L'altra cosa da notare è la necessità immediata rispetto a quella pianificata. Se immediato e il database è grande, assicurati che gli SLA in atto funzionino per te



0

Sì, con il database SQL di Azure Serverless. Sebbene le tue risorse di calcolo verranno sospese quando il database non è in uso, risparmierai sicuramente i costi per le risorse di calcolo, tuttavia la fatturazione continuerà per le risorse di archiviazione. È possibile impostare il timeout di inattività per il database dopo il quale le risorse di calcolo verranno sospese. Questo timeout può essere di appena 1 ora.

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


-1

Ecco cosa ho fatto con il mio database Azure (4/20/19)

Ho ridimensionato le DTU del database il più basso possibile pur riservando fino a 250 GB, che risultano essere 10 DTU con un costo stimato di 1,50 per DTU (stimato a $ 15 al mese). Per me è quasi buono come spegnerlo e riaccenderlo. Posso ridimensionarlo fino a 100 DTU quando voglio ottenere più elaborazione e ridimensionarlo quando non lo faccio. Anche a 100 DTU per un mese intero, il mese scorso il costo era di soli $ 75,93 sul mio database di prova.

NOTA: NON sto usando una VM per eseguire un database, ma solo il server SQL standard che ottieni quando crei un database in Azure.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.