Остановка базы данных SQL Azure, когда она не используется

99

Есть ли способ остановить базу данных SQL Azure, чтобы она не взимала плату с нашей учетной записи? Я не хочу удалять его, просто пока он тестируется, и он не используется, поэтому мы установили его в состояние «остановлено», как мы можем делать с веб-сайтами, облачными сервисами и виртуальными машинами.

Мэтт
источник

Ответы:

117

По состоянию на 10 ноября 2020 г. ответ отрицательный.

Они этого не допустят. Таким образом, оплата будет продолжена для вашей базы данных Azure, начиная со дня ее создания. На самом деле нет способа приостановить / прекратить выставление счетов для вашей базы данных SQL Azure.

Официальный источник: feedback.azure.com Добавьте возможность временно выключить / включить сервер SQL Azure, чтобы приостановить выставление счетов

Официальный ответ Microsoft выглядит следующим образом: «Да, вы можете экспортировать свою базу данных. Удалите базу данных Azure SQL, и это приостановит выставление счетов. Затем, когда вам это понадобится, вы можете создать новую базу данных и импортировать ранее открытую базу данных».

Я не верю, что это приемлемо в качестве ответа на вопрос «Разрешите мне временно отключить SQL Server, чтобы сэкономить на моем биллинге»

введите описание изображения здесь

Шива
источник
11
Нет. Что делать, если вы арендуете только экземпляр SQL Server, а не всю виртуальную машину? Вы не можете «приостановить» SQL Server. Вот для чего нужен билет на соединение и этот вопрос.
Шива
4
Спасибо, что обновляете свой ответ каждые пару дней!
Zenuka
3
Это стыд. Спасибо за ваш тент, прямой и ясный.
Striter Alfa
1
Вероятно, стоит обновить это с мая 2019 года, теперь у вас есть возможность для этого, используя «бессерверный» уровень базы данных SQL Azure. Подробности здесь: docs.microsoft.com/en-au/azure/sql-database/…
Саймон В.
1
Достаточно справедливо, но нулевой стоимости не будет. Когда вы останавливаете виртуальную машину в Azure, вы по-прежнему платите за хранилище для дисков виртуальных машин, и для службы приложений Azure (включая веб-сайты) нет функции остановки с нулевой стоимостью, поскольку базовый план службы приложений продолжает выставлять вам счета.
Simon W
26

Сегодня это не вариант - единственный выбор, который у вас есть, - это уменьшить размер базы данных SQL Azure, что снизит стоимость обслуживания со следующего часа. Если вы действительно не хотите платить за БД, вы можете сделать резервную копию БД в хранилище BLOB-объектов, удалить базу данных, а затем восстановить при необходимости. Вы можете организовать это с помощью PowerShell или подобного.

Обновление, май 2019 г .: скоро появится новый уровень «Бессерверной» базы данных SQL Azure, который может отвечать некоторым требованиям по снижению затрат за счет отказа от выставления счетов, когда он не используется. Официальная документация доступна для чтения .

Саймон В.
источник
3
Похоже, что это все еще актуально на сегодняшний день. Я нигде не вижу опции, и Google подтверждает то же самое.
leeman24
10

Резервное копирование баз данных выполняется автоматически непосредственно перед сбросом. Таким образом, вы можете просто сбросить его, когда он вам не нужен, и восстановить его, когда это необходимо. Восстановление займет некоторое время в зависимости от размера базы данных и количества созданного вами журнала, поэтому для больших баз данных это не будет быстрым.

Кроме того, существует политика истечения срока хранения резервных копий (зависит от уровня обслуживания), поэтому просто следите за этим.

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

Хари Кришна С
источник
7

Команда базы данных SQL Azure рада сообщить, что теперь есть вариант, который может удовлетворить ваш запрос. Мы только что объявили о «бессерверной» опции для базы данных SQL Azure, которая приостанавливает работу вашей базы данных, когда она не используется. Вы можете узнать больше об этой функции здесь: База данных SQL Serverless

Конор Каннингем MSFT
источник
Не похоже, чтобы функция "Auto Pause" работала. У меня бессерверная база данных. Флажок «Включить автопаузу» установлен, а период времени установлен на 1 час. Я только что вернулся из долгих каникул и заметил, что база данных SQL все эти дни потребляла секунды виртуальных ядер. Запросы не поступали, приложение, использующее эту БД, не было активным. График на странице обзора показывает постоянную загрузку ЦП ~ 0,007%. Я понятия не имею, как предотвратить использование процессора во время простоя.
Андрей Симонцев
После дополнительных исследований и этой темы: stackoverflow.com/questions/57909700/ ... Я обнаружил, что проблема на уровне приложения. Извините за ложную тревогу.
Андрей Симонцев
Вау, это отличный вариант. Гораздо дешевле и быстрее после перехода на это для моей базы данных разработки. Благодарность!
faddison
Имейте в виду, что базовый бессерверный вариант дороже (в секунду), чем сопоставимый «подготовленный» сервер, и значительно больше, чем стандартные и базовые варианты. Например, самый дешевый вариант «без сервера», если он будет работать полный рабочий день, будет стоить 425 долларов в месяц. Если у вас есть база данных, которой нужно быть в сети всего несколько минут в месяц - как это делаю я - это нормально. Если в противном случае вы бы использовали сопоставимую подготовленную базу данных общего назначения , но ожидаете, что она будет работать в среднем менее 90% времени, это тоже нормально. Однако в других случаях это может быть довольно дорого.
Джереми Кейни,
Итак, для базы данных разработки базовая база данных будет стоить вам 5 долларов в месяц. С бессерверной базой данных вы получаете восемь часов по той же цене. Если вы не ведете активную разработку на базе базы данных, и вам это нужно только от случая к случаю, например, для тестирования исправления в рамках постоянного обслуживания, это, вероятно, нормально. Но если вы активно разрабатываете против него, это будет намного дороже, чем базовая база данных, если вам не понадобится много DTU для вашей базы данных разработки.
Джереми Кейни,
3

Согласитесь с ответом @Shiva. Но если вы просто пробуете SQL Server на виртуальной машине Azure, вы не захотите понести расходы, если случайно оставите его работающим на выходных или в течение нескольких недель. Одно из решений - использовать функцию автоматического выключения .

введите описание изображения здесь

Саами
источник
3

Теперь это возможно, и функция предварительного просмотра стала общедоступной. База данных SQL Azure без сервера

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

Pwd9000
источник
Бессерверный вариант обеспечивает большую гибкость и не требует выставления счетов, если он не используется. Это отлично подходит для баз данных, которые со временем мало используются. Однако время запуска после перехода в режим ожидания является фактором, который следует учитывать. Однако для целей развития это отлично.
Грег Гам,
2

Принимая во внимание, что при таком низком масштабе (требование уменьшения (пауза), а не увеличения) SQL, работающий в виртуальной машине, может быть лучшим ответом для вас ...

Саймон
источник
2

Вы не можете довести заряд до нуля, но почти ...
Если вы попробуете эту команду SQL:

alter DATABASE myDB modify (EDITION = 'Basic') 

или

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

тогда ваша стоимость может снизиться до 5 долларов в месяц (в зависимости от размера вашей базы данных).
Когда вы вернетесь к работе с базой данных, вам просто нужно запустить

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

и через несколько минут все вернется в норму .

Если у вас более одной базы данных, вы также можете использовать опцию Elastic Pool, чтобы снизить общую стоимость.

Хенрик Стаун Поульсен
источник
1

Как есть, он не поддерживается, но есть несколько обходных путей. Это действительно зависит от того, как долго вы хотите его остановить и как сразу вы хотите, а также от размера базы данных. Если это на пару часов, то это может не стоить, потому что счет выставляется почасово, и у вас могут возникнуть проблемы с округлением. Если дни, то вы можете сбросить его и восстановить при необходимости. Если недели, другой вариант - экспорт базы данных и импорт при необходимости. Также вы можете проверить стратегию резервного копирования для выбранной вами редакции, прежде чем отдавать предпочтение экспорту / восстановлению. Еще следует отметить немедленную необходимость по сравнению с запланированной. Если немедленно, а база данных велика, убедитесь, что действующие SLA работают на вас.

Сириша Чамарти
источник
1

Вы можете экспортировать базу данных в хранилище Azure и импортировать ее, когда захотите снова включить ее, как предлагается здесь:

Временно отключите sql

Ноеликус
источник
0

Да, можно, с Бессерверной базой данных SQL Azure. Хотя ваши вычислительные ресурсы будут приостановлены, когда база данных не используется, вы определенно сэкономите на вычислительных ресурсах, однако выставление счетов за ресурсы хранения будет продолжаться. Вы можете установить тайм-аут неактивности для базы данных, по истечении которого вычислительные ресурсы будут приостановлены. Этот тайм-аут может составлять всего 1 час.

Прочтите это: https://azure.microsoft.com/en-in/updates/update-to-azure-sql-database-serverless-providing-even-greater-price-optimization/

Аджай Нарвекар
источник
-1

Вот что я сделал с моей базой данных Azure (20.04.19)

Я максимально уменьшил количество DTU для базы данных, сохранив при этом резерв до 250 ГБ, что составляет 10 DTU с ориентировочной стоимостью 1,50 за DTU (примерно 15 долларов в месяц). Для меня это почти так же хорошо, как выключить и снова включить. Я могу масштабировать его до 100 DTU, когда хочу получить больше обработки, и уменьшать, когда я этого не делаю. Даже при 100 DTU на целый месяц стоимость моей тестовой базы данных в прошлом месяце составила всего 75,93 доллара.

ПРИМЕЧАНИЕ. Я НЕ использую виртуальную машину для запуска базы данных, а только стандартный сервер SQL, который вы получаете при создании базы данных в Azure.

Даниэль
источник