我在Amazon RDS上有一个SQL Server数据库。如何导出或备份数据库?当我试图收到错误时:
执行Transact-SQL语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo) 对象' xp_fixeddrives',数据库' mssqlsystemresource',schema' sys'
上的EXECUTE权限被拒绝。我基本上尝试做的是导出数据库,然后将其导入EBS上的Amazon EC2。
Haven未能在过去2或3天内找到解决方案。
请帮忙!!!! :)
答案 0 :(得分:9)
截至7月,这可以通过以下方式实现:
在RDS仪表板下创建一个新的选项组 “SQLSERVER_BACKUP_RESTORE”选项。
更新您的RDS实例以使用新创建的选项。
打开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
答案 1 :(得分:0)
目前使用Amazon RDS SQL Server不支持此功能。您必须实际从数据库实例转储数据,并且不能生成.bak文件。
我建议查看SQL数据库迁移向导。它是为支持SQL而构建的 - &gt; Azure,但也允许你去SQL - &gt; SQL。您可以使用此工具从RDS导出数据并导入另一个数据库。
An example of using the tool in this manner.本文是为了导入RDS而编写的,但您可以通过类似的方式从RDS导出。
答案 2 :(得分:0)
我遇到了同样的问题,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
答案 3 :(得分:0)
要从Amazon RDS上的MS SQL Server导出数据,您可以使用以下任一选项:
Amazon RDS支持使用.bak文件的SQL Server数据库的本机backup。创建本地数据库的完整备份并将其存储在Amazon S3上。现在,将备份文件还原到运行SQL Server的Amazon RDS数据库实例。
浏览对象资源管理器以进入向导。选择数据源时,请选择RDS SQL Server实例。使用“用户名/密码”字段中的主用户凭据。在目标中选择SQL Server Native Client 11.0。该向导可用于备份和导出。