sql-server – 如何在SQL Server Amazon RDS实例上重命名数据库?

前端之家收集整理的这篇文章主要介绍了sql-server – 如何在SQL Server Amazon RDS实例上重命名数据库?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试通过sql Server Management Studio和Transact sql重命名sql Server Amazon RDS实例上托管的数据库会导致以下错误.

User does not have permission to alter database ‘Morningstar’,the@H_404_4@ database does not exist,or the database is not in a state that allows@H_404_4@ access checks.

请注意,这是我尝试过的Transact sql语句.

ALTER DATABASE <OldName> Modify Name = <NewName>;

到目前为止,我提出的最佳选择是使用新名称恢复原始数据库的副本,然后删除原始数据库.有关如何执行此操作的详细信息,请参阅我的StackOverflow post.

这种方法至少存在以下缺点.

> bacpac的出口和进口操作可能需要很长时间.@H_404_4@>任何执行写入数据库的应用程序或网站都需要@H_404_4@在整个过程中脱机.@H_404_4@>涉及手动步骤可能导致错误.@H_404_4@>如果要将原始数据库作为回滚策略保留,直到新数据库可用,RDS实例将需要足够大以容纳数据库的两个副本.

任何人都可以建议一种没有这些缺点的替代方法吗?

更新:我有兴趣重命名RDS实例中托管的sql Server数据库 – 而不是RDS实例.

解决方法

RDS最近添加了一个存储过程来完成此任务:
EXEC rdsadmin.dbo.rds_modify_db_name N'<OldName>',N'<NewName>'

资料来源:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.RenamingDB.html

原文链接:https://www.f2er.com/mssql/80888.html

猜你在找的MsSQL相关文章