Итак, чтобы уточнить, я знаю, что могу сбросить базу данных, используя инструменты, написанные для базы данных, которые ничего не знают о лазурном.
Я знаю, что могу сделать импорт Экспорт.
И я знаю, что могу просто продлить срок хранения восстановления на определенный момент времени период для БД.
Но то, что я хочу, намного проще. Мне не нужно иметь возможность выполнять резервное копирование в любой произвольный момент времени за последние десять лет; Мне просто нужен обычный период хранения на определенный момент времени, и возможность делать снимки определенных моментов (возможно, с простоями для полного резервного копирования) и иметь эта конкретная резервная копия оставайтесь после того, как закончится нормальный период хранения.
В AWS я добился этого с помощью снимков состояния RDS. Я много гуглил и читал документацию по Azure. Это кажется действительно базовой и фундаментальной функцией. Меня справедливо удивляет, что я ее еще не нашел, но я даю Microsoft право сомневаться и предполагаю, что они реализовали эту функцию, а я просто (почему-то) не смог ее найти.
На данный момент, исходя из моих знаний, База данных Azure SQL (Paas) не поддерживает снимок. Есть много способов резервного копирования базы данных SQL, см. Этот блог: Различные способы резервного копирования базы данных Windows Azure SQL.
Но для SQL-сервер на виртуальной машине Azure (Iaas), Виртуальная машина Azure поддерживает создание снимков. Вы можете легко сделать это на портале Azure.
Дополнительные сведения о различиях между базой данных SQL и сервером SQL на виртуальной машине Azure см. В этом ссылка на сайт.
Да, вы можете - хотя Microsoft называет это процессом дублирования или копирования существующей базы данных Azure SQL. Исходная база данных сделана снимок во время создания копии - поэтому любые дальнейшие записи в исходную базу данных, сделанные до завершения копирования базы данных, не будут включены в окончательную копию, точно так же, как работают локальные моментальные снимки SQL Server с использованием теневого копирования тома.
Это описано здесь: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy
Копия базы данных - это моментальный снимок исходной базы данных на момент запроса на копирование.
Сделать это можно разными способами:
Обратите внимание, что поскольку копия базы данных является отдельным экземпляром базы данных, вам придется заплатить за копию, но вы можете, по крайней мере, использовать другой ценовой уровень для копии базы данных.
New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" `
-ServerName $sourceserver `
-DatabaseName "MySampleDatabase" `
-CopyResourceGroupName "myResourceGroup" `
-CopyServerName $targetserver `
-CopyDatabaseName "CopyOfMySampleDatabase"
CREATE DATABASE Database2 AS COPY OF Database1;
На выполнение этой команды для базы данных объемом 20 ГБ у меня ушло около 40 секунд (я подозреваю, что это связано с тем, что моментальные снимки оптимизированы для копирования при записи, именно так и работают теневые копии томов).
CREATE DATABASE Database2 AS COPY OF server1.Database1;
Видеть связанная статья для получения дополнительных сведений и примечаний, например переназначение логинов.