转储 Azure SQL DB 数据库的便捷方法

转储 Azure SQL DB 数据库的便捷方法

使用地理复制是复制数据的一种好方法,但它要求两台服务器在同一个 Azure 帐户上注册。如果员工决定登录并删除两台服务器,则可能存在潜在的安全风险。在这种情况下,将无法恢复数据。

为了应对这种潜在威胁,计划转储听起来是个好方法,可以将数据保存在另一组用户可以访问的另一个帐户中。

使用数据库同步会导致生成新表并且看起来很混乱。

Azure SQL DB 是否提供了任何方便的转储数据的方法?

答案1

您可以创建一个自动化帐户和运行手册,运行一项任务,每隔一段时间将数据库备份导出到存储帐户。以下是示例:

$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
}

答案2

这没什么意义,你总是可以限制人们访问 Azure 中的资源。此外,如果服务器没有被删除,删除 Azure SQL 数据库不会删除备份。你可以使用长期保留备份到不同的“媒体”。

相关内容