Назад | Перейти на главную страницу

Удобный способ сделать дамп базы данных Azure SQL DB

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

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

Использование Database Sync приводит к созданию новых таблиц и кажется беспорядочным.

Предоставляет ли база данных SQL Azure какой-либо удобный способ сброса данных?

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

$ResourceGroupName = "rg"
$ServerName = "sqlserver"
$StorageKeytype = "StorageAccessKey"
$StorageKey = "examplestoragekey"
$sqldbs = ("userdb1,userdb2")
$UserName = "sqladminaccount"
$BacpacUri_Stem = "https://example.blob.core.windows.net/sqlbackup/"
$Password = Get-AutomationPSCredential -Name 'MyCredential'
foreach ($sqldb in $sqldbs){
    $BacpacUri = $BacpacUri_Stem + $database  + (Get-Date -Format ddmmyy) + ".bacpac"
    $exportRequest = New-AzureRmSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
    -DatabaseName $Database -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
    -AdministratorLogin $UserName -AdministratorLoginPassword $Password
}

Это не имеет большого смысла, вы всегда можете ограничить доступ людей к ресурсам в Azure. Кроме того, при удалении базы данных SQL Azure не удаляются резервные копии, если сервер также не удален. ты можешь использовать Долгосрочное хранение для резервного копирования на другой "носитель".