【问题标题】:How to Export/Backup DB from SQL Server on Amazon RDS如何从 Amazon RDS 上的 SQL Server 导出/备份数据库
【发布时间】:2015-01-17 23:40:17
【问题描述】:

我在 Amazon RDS 上有一个 SQL Server 数据库。如何导出或备份数据库?当我尝试时出现错误:

执行 Transact-SQL 语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo) 对象“xp_fixeddrives”、数据库“mssqlsystemresource”、架构“sys”的执行权限被拒绝。

我基本上要做的是导出数据库,然后将其导入 EBS 上的 Amazon EC2。

在过去的 2 或 3 天里找不到解决方案。

请帮忙!!!! :)

【问题讨论】:

    标签: sql-server amazon-web-services amazon-rds


    【解决方案1】:

    目前不支持使用 Amazon RDS SQL Server。您必须实际转储数据库实例中的数据,并且不能生成 .bak 文件。

    我建议查看 SQL 数据库迁移向导。它旨在支持 SQL -> Azure,但也允许您使用 SQL -> SQL。您将能够使用此工具从 RDS 导出数据并导入另一个数据库。

    An example of using the tool in this manner.这篇文章是为导入RDS而写的,但你可以用类似的方式从RDS导出。

    【讨论】:

    • 这篇文章的日期是 2014 年 2 月 3 日。回到那天是这样做的,但自 2016 年 7 月以来,有一种正确的方法(在我上面的回答中描述)来实现这一点,它会生成与 SSMS 一样的 *.bak 文件。
    【解决方案2】:

    要从 Amazon RDS 上的 MS SQL Server 导出数据,您可以使用以下任一选项:

    1. 使用 .bak 文件备份本机数据库

    Amazon RDS 支持使用 .bak 文件的 SQL Server 数据库的原生 backup。创建本地数据库的完整备份并将其存储在 Amazon S3 上。现在,将备份文件还原到运行 SQL Server 的 Amazon RDS 数据库实例。

    1. SQL Server 导入和导出向导

    通过对象资源管理器导航到向导。选择数据源时,请选择您的 RDS SQL Server 实例。在用户名/密码字段中使用主用户凭据。在目标中选择 SQL Server Native Client 11.0。该向导可用于备份和导出。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,AWS 为类似的场景提供 Microsoft SQL Server 本机备份和恢复支持。

      通过以下链接,您将获得全部详细信息.. https://aws.amazon.com/blogs/aws/amazon-rds-for-sql-server-support-for-native-backuprestore-to-amazon-s3/

      https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

      【讨论】:

      • 请不要只发布链接——它们将来可能会被破坏
      【解决方案4】:

      截至 7 月,这可以通过以下方式实现:

      1. 在 RDS Dashboard 下创建一个新的选项组 “SQLSERVER_BACKUP_RESTORE”选项。

      2. 更新您的 RDS 实例以使用新创建的选项。

      3. 打开 SQL Management Studio,连接 RDS 数据库并执行以下命令启动备份:

      USE [msdb]
      GO
      
      DECLARE   @return_value int
      
      EXEC  @return_value = [dbo].[rds_backup_database]
            @source_db_name = 'your_database_name',
            @S3_arn_to_backup_to = 'arn:aws:s3:::your-bucket-name/folder/db.bak',
            @KMS_master_key_arn = NULL,
            @overwrite_S3_backup_file = NULL
      
      SELECT    'Return Value' = @return_value
      
      GO
      

      要检查备份进度,请运行以下命令:

      > USE [msdb] GO
      > 
      > DECLARE   @return_value int
      > 
      > EXEC  @return_value = [dbo].[rds_task_status]         @db_name =
      > 'your_database_name',         @task_id = <<<found in result of previous query>>>
      > 
      > SELECT    'Return Value' = @return_value
      > 
      > GO
      

      更多信息在这里:https://aws.amazon.com/blogs/aws/amazon-rds-for-sql-server-support-for-native-backuprestore-to-amazon-s3/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多