AWS SQL数据库自动备份和还原

时间:2017-11-03 08:16:36

标签: c# sql-server amazon-web-services asp.net-mvc-4

我正在使用AWS RDS进行sql连接。

拥有数据库DB1

现在我希望每天在DB1的10PM IST上自动备份,并且它应该作为另一个数据库DB2立即恢复。

我该如何开始,需要遵循的流程是什么?

我使用ASP .NET MVC,SQL,C#作为技术。

提前致谢

2 个答案:

答案 0 :(得分:1)

aws RDS提供自动备份,可以保留(一周)并恢复。

或者您可以使用手动数据库快照,然后从中进行还原。 要自动执行该过程,您可以在cloudwatch上使用预定事件触发器(在您的情况下每晚进行备份,早上进行恢复)并运行lambda函数进行备份然后恢复。请参阅AWS的文档:

Backing Up and Restoring Amazon RDS DB Instances

Automated Backups and Database Snapshots

Using AWS Lambda Function with Scheduled Events

答案 1 :(得分:0)

正如评论中提到的,我希望您首先知道您需要什么,因为数据库快照和数据库备份是两回事:

DB Snapshot将其视为宝丽来照片。你出去了,你和你的朋友一起玩,有人拍了一张宝丽来或Instagram等等。就是这样。 这是一个即时的时间点

除非你对存储阵列快照有一些真正具体的细节,否则你可能最终处于一种称为“ 崩溃不一致 ”的状态

另一方面,数据库备份实际上可以与这些应用程序通信,确保将驻留在内存中的所有数据写入磁盘。这样,您可以确定您的服务器(如果您必须还原它处于崩溃一致状态您可以确信您的数据是可用

现在为Per AWS Documentation您可以指定备份窗口(自动备份),但会降低数据库的性能。

然后您可以通过API调用或AWS CLI从linux或unix恢复它:

aws rds restore-db-instance-to-point-in-time \
    --source-db-instance-identifier mysourcedbinstance \
    --target-db-instance-identifier mytargetdbinstance \
    --restore-time 2009-10-14T23:45:00.000Z

或者,如果您想使用API​​,可以使用带有以下参数的Amazon RDS API RestoreDBInstanceToPointInTime函数:

  • SourceDBInstanceIdentifier = mysourcedbinstance

  • TargetDBInstanceIdentifier = mytargetdbinstance

  • RestoreTime = 2013-10-14T23:45:00.000Z

您可以参考AWS Documentation获取相同的