การหยุด SQL Azure DB เมื่อไม่ใช้งาน


99

มีวิธีใดในการหยุด SQL Azure DB เพื่อไม่ให้มีการเรียกเก็บเงินจากบัญชีของเราหรือไม่? ฉันไม่ต้องการลบมันในขณะทดสอบและไม่มีการใช้งานมากกว่าที่เราตั้งค่าเป็น "หยุด" เหมือนที่เราสามารถทำได้กับเว็บไซต์บริการคลาวด์และ VM

คำตอบ:


117

ณ วันที่ 10 พฤศจิกายน 2020 คำตอบคือไม่

พวกเขาไม่อนุญาต ดังนั้นการเรียกเก็บเงินจะดำเนินต่อไปสำหรับฐานข้อมูล Azure ของคุณโดยเริ่มตั้งแต่วันที่คุณสร้าง ไม่มีวิธีใดที่จะหยุดการเรียกเก็บเงินชั่วคราว / หยุดการเรียกเก็บเงินสำหรับฐานข้อมูล Azure SQL ของคุณ

ที่มาอย่างเป็นทางการ: feedback.azure.com โปรดเพิ่มความสามารถในการปิด / เปิดเซิร์ฟเวอร์ SQL Azure ชั่วคราวเพื่อหยุดการเรียกเก็บเงินชั่วคราว

คำตอบอย่างเป็นทางการของ Microsoft คือ "ใช่คุณสามารถส่งออกฐานข้อมูลของคุณได้ลบฐานข้อมูล Azure SQL และจะหยุดการเรียกเก็บเงินชั่วคราวจากนั้นเมื่อคุณต้องการคุณสามารถสร้างฐานข้อมูลใหม่และนำเข้าฐานข้อมูลที่สำรวจก่อนหน้านี้ได้"

ฉันไม่เชื่อว่านี่เป็นคำตอบที่ยอมรับได้สำหรับ "อนุญาตให้ฉันปิด SQL Server ชั่วคราวเพื่อบันทึกการเรียกเก็บเงินของฉัน"

ป้อนคำอธิบายภาพที่นี่


11
ไม่จะเกิดอะไรขึ้นถ้าคุณแค่เช่าอินสแตนซ์ SQL Server ไม่ใช่ VM ทั้งหมด คุณไม่สามารถ "หยุด" เซิร์ฟเวอร์ SQL ชั่วคราวได้ นั่นคือสิ่งที่ตั๋วเชื่อมต่อและคำถามนี้มีไว้สำหรับ
พระอิศวร

4
ขอบคุณสำหรับการอัปเดตคำตอบของคุณทุกๆสองสามวัน!
Zenuka

3
ถือเป็นเรื่องที่น่าเสียดาย ขอบคุณสำหรับ awnser ตรงและชัดเจน
Striter Alfa

1
อาจจะคุ้มค่ากับการอัปเดตในเดือนพฤษภาคม 2019 ตอนนี้คุณมีตัวเลือกสำหรับสิ่งนี้โดยใช้ระดับ 'เซิร์ฟเวอร์' ของ Azure SQL DB รายละเอียดที่นี่: docs.microsoft.com/en-au/azure/sql-database/…
Simon W

1
พอใช้ แต่ต้นทุนเป็นศูนย์จะไม่เกิดขึ้น เมื่อคุณหยุด VM ใน Azure คุณยังคงจ่ายเงินสำหรับพื้นที่เก็บข้อมูลสำหรับดิสก์ VM และไม่มีฟังก์ชันหยุดต้นทุนเป็นศูนย์สำหรับ Azure App Service (รวมถึงเว็บไซต์) เนื่องจาก App Service Plan ที่เป็นพื้นฐานจะยังคงเรียกเก็บเงินคุณ
Simon W

26

นี่ไม่ใช่ตัวเลือกในวันนี้ทางเลือกเดียวที่คุณมีคือการลดขนาดของฐานข้อมูล Azure SQL ซึ่งจะช่วยลดต้นทุนจากการให้บริการในชั่วโมงถัดไป หากคุณไม่ต้องการจ่ายค่าฐานข้อมูลจริงๆคุณสามารถสำรองฐานข้อมูลไปยังที่เก็บข้อมูลแบบหยดลบฐานข้อมูลแล้วเรียกคืนเมื่อจำเป็น คุณสามารถจัดเตรียมสิ่งนี้โดยใช้ PowerShell หรือสิ่งที่คล้ายกัน

อัปเดตพฤษภาคม 2019: มีระดับ "Serverless" ฐานข้อมูล Azure SQL ใหม่ที่มาซึ่งอาจตรงตามข้อกำหนดบางประการเกี่ยวกับการลดต้นทุนโดยไม่เรียกเก็บเงินเมื่อไม่ได้ใช้งาน เอกสารอย่างเป็นทางการพร้อมที่จะอ่าน


3
ดูเหมือนว่าจะยังคงมีความแม่นยำเช่นทุกวันนี้ ฉันไม่เห็นตัวเลือกใดเลยและ Google ก็ยืนยันเช่นเดียวกัน
leeman24

10

ฐานข้อมูลได้รับการสำรองข้อมูลโดยอัตโนมัติก่อนที่จะลดลง ดังนั้นคุณสามารถวางได้เมื่อคุณไม่ต้องการและเรียกคืนเมื่อจำเป็น การกู้คืนจะใช้เวลาสักครู่ขึ้นอยู่กับขนาดฐานข้อมูลและจำนวนบันทึกที่คุณสร้างขึ้นดังนั้นจึงไม่รวดเร็วสำหรับฐานข้อมูลขนาดใหญ่

นอกจากนี้ยังมีนโยบายการหมดอายุเกี่ยวกับระยะเวลาในการสำรองข้อมูล (ขึ้นอยู่กับระดับบริการ) ดังนั้นโปรดระวังให้ดี

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


7

ทีมฐานข้อมูล Azure SQL ยินดีที่จะประกาศว่าขณะนี้มีตัวเลือกที่สามารถตอบสนองคำขอของคุณได้ เราเพิ่งประกาศตัวเลือก "ไร้เซิร์ฟเวอร์" สำหรับ Azure SQL DB ซึ่งจะหยุดฐานข้อมูลของคุณชั่วคราวเมื่อไม่มีการใช้งาน คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคุณลักษณะนี้ได้ที่นี่: ฐานข้อมูล SQL Serverless


ดูเหมือนว่าคุณลักษณะ "หยุดชั่วคราวอัตโนมัติ" จะไม่ทำงาน ฉันมีฐานข้อมูลแบบไร้เซิร์ฟเวอร์ ช่องทำเครื่องหมาย "เปิดใช้งานการหยุดชั่วคราวอัตโนมัติ" ถูกตั้งค่าและระยะเวลาจะตั้งไว้ที่ 1 ชั่วโมง ฉันเพิ่งกลับมาจากวันหยุดยาวและสังเกตเห็นว่าฐานข้อมูล SQL ใช้ vCores วินาทีตลอดทั้งวันนี้ ไม่มีการร้องขอแอปที่ใช้ฐานข้อมูลนี้ไม่ทำงาน แผนภูมิในหน้าภาพรวมแสดงการใช้งาน CPU คงที่ ~ 0.007% ฉันไม่รู้วิธีป้องกันไม่ให้ใช้ CPU ในขณะที่ไม่มีการใช้งาน
Andrew Simontsev

หลังจากการค้นคว้าเพิ่มเติมและหัวข้อนี้: stackoverflow.com/questions/57909700/…ฉันพบว่าปัญหาอยู่ที่ระดับแอปพลิเคชัน ขออภัยสำหรับการเตือนที่ผิดพลาด
Andrew Simontsev

ว้าวนี่เป็นตัวเลือกที่ยอดเยี่ยม ถูกกว่าและเร็วกว่ามากหลังจากเปลี่ยนเป็นฐานข้อมูลการพัฒนาของฉัน ขอบคุณ!
faddison

โปรดทราบว่าตัวเลือกที่ serverless ขั้นพื้นฐานที่มีราคาแพงมากขึ้น (ต่อวินาที) กว่าเทียบเคียง "จัดเตรียม" เซิร์ฟเวอร์และอย่างรวดเร็วมากขึ้นกว่ามาตรฐานและขั้นพื้นฐานตัวเลือก ตัวอย่างเช่นตัวเลือก "ไร้เซิร์ฟเวอร์" ที่ถูกที่สุดคือใช้งานได้เต็มเวลาจะมีค่าใช้จ่าย 425 เหรียญ / เดือน หากคุณมีฐานข้อมูลที่ต้องออนไลน์เพียงไม่กี่นาทีต่อเดือนอย่างที่ฉันทำก็ไม่เป็นไร หากคุณกำลังใช้ฐานข้อมูลที่จัดเตรียมสำหรับวัตถุประสงค์ทั่วไปที่เทียบเคียงได้แต่คาดว่าจะทำงานน้อยกว่า 90% ของเวลาโดยเฉลี่ยก็เป็นเรื่องปกติเช่นกัน ในสถานการณ์อื่น ๆ อาจมีราคาค่อนข้างแพง
Jeremy Caney

ดังนั้นสำหรับฐานข้อมูลการพัฒนาฐานข้อมูลพื้นฐานจะเสียค่าใช้จ่าย $ 5 / เดือน ด้วยฐานข้อมูลแบบไร้เซิร์ฟเวอร์คุณจะได้รับแปดชั่วโมงในราคาเดียวกัน หากคุณไม่ได้พัฒนาฐานข้อมูลอย่างแข็งขันและจำเป็นต้องใช้ในบางครั้งเช่นการทดสอบโปรแกรมแก้ไขด่วนซึ่งเป็นส่วนหนึ่งของการบำรุงรักษาอย่างต่อเนื่องนั่นอาจจะดี แต่ถ้าคุณกำลังแข็งขันพัฒนากับมันก็เป็นไปได้มากราคาแพงกว่าพื้นฐานฐานข้อมูลเว้นแต่คุณมิฉะนั้นจะต้องมากของ DTUs สำหรับการพัฒนาฐานข้อมูลของคุณ
Jeremy Caney

3

เห็นด้วยกับคำตอบ @Shiva แต่ถ้าคุณเพียงแค่ทดลองใช้ SQL Server บน Azure VM คุณก็ไม่ต้องการเสียค่าใช้จ่ายโดยไม่ได้ตั้งใจปล่อยให้ทำงานในช่วงสุดสัปดาห์หรือหลายสัปดาห์ ทางออกหนึ่งคือการใช้คุณสมบัติการปิดเครื่องอัตโนมัติ

ป้อนคำอธิบายภาพที่นี่


3

ตอนนี้ทำได้แล้วและคุณลักษณะการแสดงตัวอย่างเป็นแบบสาธารณะ Azure SQL Database ไร้เซิร์ฟเวอร์

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


ตัวเลือกแบบไร้เซิร์ฟเวอร์ให้ความยืดหยุ่นสูงและไม่เรียกเก็บเงินเว้นแต่จะได้รับการใช้งาน เหมาะสำหรับฐานข้อมูลที่มีการใช้งานน้อยเมื่อเวลาผ่านไป อย่างไรก็ตามเวลาเริ่มต้นหลังจากเข้าสู่โหมดสแตนด์บายเป็นปัจจัยที่ต้องคำนึงถึง อย่างไรก็ตามเพื่อจุดประสงค์ในการพัฒนาการนี้ยอดเยี่ยมมาก
Greg Gum

2

ในขณะที่ระดับต่ำนี้ (ความต้องการลดขนาด (หยุดชั่วคราว) แทนที่จะขยายขนาด) SQL ที่ทำงานภายใน VM อาจเป็นคำตอบที่ดีกว่าสำหรับคุณ ...


2

คุณไม่สามารถรับประจุลงไปที่ศูนย์ได้ แต่เกือบ ...
ถ้าคุณลองคำสั่ง SQL นี้:

alter DATABASE myDB modify (EDITION = 'Basic') 

หรือ

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

จากนั้นค่าใช้จ่ายของคุณอาจลดลงเหลือ 5 USD ต่อเดือน (ขึ้นอยู่กับขนาดฐานข้อมูลของคุณ)
เมื่อคุณกลับมาทำงานบนฐานข้อมูลของคุณคุณก็ต้องเรียกใช้

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

และทุกอย่างจะกลับมาเป็นปกติหลังจากนั้นไม่กี่นาที

หากคุณมีฐานข้อมูลมากกว่าหนึ่งฐานข้อมูลคุณสามารถใช้ตัวเลือก Elastic Pool เพื่อลดต้นทุนรวมของคุณได้เช่นกัน


1

เนื่องจากไม่ได้รับการสนับสนุนอย่างไรก็ตามมีวิธีแก้ไขเล็กน้อย ขึ้นอยู่กับระยะเวลาที่คุณต้องการหยุดและระยะเวลาที่คุณต้องการทันทีและขนาดของฐานข้อมูล หากเป็นเวลาสองสามชั่วโมงอาจไม่คุ้มค่าเนื่องจากการเรียกเก็บเงินเป็นรายชั่วโมงและคุณอาจมีปัญหา หากเป็นเวลาหลายวันคุณสามารถวางและเรียกคืนได้เมื่อจำเป็น ถ้าหลายสัปดาห์แล้วการส่งออกฐานข้อมูลและการนำเข้าเมื่อจำเป็นก็เป็นอีกทางเลือกหนึ่ง นอกจากนี้คุณอาจต้องการตรวจสอบกลยุทธ์การสำรองข้อมูลสำหรับรุ่นที่คุณเลือกก่อนที่จะส่งออก / กู้คืน สิ่งอื่นที่ควรทราบคือความต้องการทันทีเทียบกับการวางแผน หากทันทีและฐานข้อมูลมีขนาดใหญ่ตรวจสอบให้แน่ใจว่า SLA ที่ใช้งานได้สำหรับคุณ



0

ใช่คุณสามารถทำได้ด้วย Azure Serverless SQL Database แม้ว่าทรัพยากรการประมวลผลของคุณจะถูกระงับเมื่อไม่มีการใช้งานฐานข้อมูล แต่คุณจะประหยัดค่าใช้จ่ายในการคำนวณทรัพยากรได้อย่างแน่นอนอย่างไรก็ตามการเรียกเก็บเงินจะยังคงดำเนินต่อไปสำหรับทรัพยากรพื้นที่จัดเก็บ คุณสามารถตั้งค่าการหมดเวลาที่ไม่ใช้งานสำหรับฐานข้อมูลหลังจากนั้นทรัพยากรการประมวลผลจะถูกระงับ ระยะหมดเวลานี้อาจต่ำถึง 1 ชั่วโมง

อ่านสิ่งนี้: https://azure.microsoft.com/en-in/updates/update-to-azure-sql-database-serverless-providing-even-greater-price-optimization/


-1

นี่คือสิ่งที่ฉันทำกับฐานข้อมูล Azure ของฉัน (4/20/19)

ฉันปรับขนาด DTU ของฐานข้อมูลให้ต่ำที่สุดเท่าที่จะเป็นไปได้ในขณะที่ยังคงสำรองไว้ได้ถึง 250GB ซึ่งกลายเป็น 10 DTU โดยมีค่าใช้จ่ายโดยประมาณ 1.50 ต่อ DTU (ประมาณ 15 เหรียญต่อเดือน) สำหรับฉันแล้วมันเกือบจะดีพอ ๆ กับการปิดและเปิดเครื่อง ฉันสามารถปรับขนาดได้ถึง 100 DTU เมื่อฉันต้องการประมวลผลมากขึ้นและลดขนาดลงเมื่อฉันไม่ทำ แม้จะอยู่ที่ 100 DTU ทั้งเดือน แต่ค่าใช้จ่ายก็อยู่ที่ 75.93 ดอลลาร์เมื่อเดือนที่แล้วในฐานข้อมูลการทดสอบของฉัน

หมายเหตุ: ฉันไม่ได้ใช้ VM เพื่อเรียกใช้ฐานข้อมูลเพียงแค่เซิร์ฟเวอร์ SQL มาตรฐานที่คุณได้รับเมื่อคุณสร้างฐานข้อมูลใน Azure

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.