【问题标题】:Programmatically backup Azure Sql db以编程方式备份​​ Azure Sql 数据库
【发布时间】:2016-09-30 14:03:10
【问题描述】:

我创建了一个脚本来备份和恢复我的 sql 数据库。我最近刚搬到 Azure Sql Server。我下面的备份策略不再有效。对于我的程序,它通常会保存一个备份并创建一个带有名为 training 的后缀的新备份。看来 Azure Sql Server 备份策略完全不同。请问如何以编程方式备份​​Azure Sql db并恢复它。

if (!sqlServer.Databases.Contains(databaseTraining))
{
var backupFile = string.Concat(sqlServer.Settings.BackupDirectory, "\\", database, "Training.BAK");

var sourceBackup = new Backup
{
    Database = database,
    Action = BackupActionType.Database
};

var destDevice = new BackupDeviceItem(backupFile, DeviceType.File);
sourceBackup.Devices.Add(destDevice);
sourceBackup.Initialize = true;

sourceBackup.SqlBackup(sqlServer);

var db = new Microsoft.SqlServer.Management.Smo.Database(sqlServer, databaseTraining);
db.Create();

var destinationRestore = new Restore
{
    Database = databaseTraining,
    Action = RestoreActionType.Database
};
destinationRestore.Devices.Add(destDevice);

var dataFile = new RelocateFile
{
    LogicalFileName = destinationRestore.ReadFileList(sqlServer).Rows[0][0].ToString(),
    PhysicalFileName = sqlServer.Databases[databaseTraining].FileGroups[0].Files[0].FileName
};

var logFile = new RelocateFile
{
    LogicalFileName = destinationRestore.ReadFileList(sqlServer).Rows[1][0].ToString(),
    PhysicalFileName = sqlServer.Databases[databaseTraining].LogFiles[0].FileName
};

destinationRestore.RelocateFiles.Add(dataFile);
destinationRestore.RelocateFiles.Add(logFile);

destinationRestore.ReplaceDatabase = true;
destinationRestore.NoRecovery = false;

destinationRestore.SqlRestore(sqlServer);

【问题讨论】:

  • 不同的是:MS 不是你做备份。 BACKUP 命令在 Azure SQL Server 上不可用。
  • 对于 SQL Azure,您可能希望了解专业的备份服务,例如 CloudBerry、RedGate's CherrySafe。

标签: c# sql-server azure


【解决方案1】:

我最近刚搬到 Azure Sql Server。我下面的备份策略不再有效

您观察到的是正确的,您的备份策略在 Azure 中不起作用..

如果只需要备份来确保像 OnPremises 这样的时间点还原,则不需要这样做,因为使用 azure 可以根据您的层级获得时间点还原功能。

如果您希望在本地服务器上恢复数据库以用于测试/其他目的..您可以使用以下链接..

1.)How do I copy SQL Azure database to my local development server?

2.)https://blogs.msdn.microsoft.com/mast/2013/03/03/different-ways-to-backup-your-windows-azure-sql-database/

【讨论】:

    猜你喜欢
    • 2011-04-26
    • 1970-01-01
    • 2021-08-11
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2015-05-15
    • 2019-09-06
    相关资源
    最近更新 更多