加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:50:50 所属栏目:MsSql教程 来源:网络整理
导读:尝试通过SQL Server Management Studio和Transact SQL重命名SQL Server Amazon RDS实例上托管的数据库会导致以下错误. User does not have permission to alter database ‘Morningstar’,the database does not exist,or the database is not in a state tha
尝试通过SQL Server Management Studio和Transact SQL重命名SQL Server Amazon RDS实例上托管的数据库会导致以下错误.

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

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

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

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

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

> bacpac的出口和进口操作可能需要很长时间.
>任何执行写入数据库的应用程序或网站都需要
在整个过程中脱机.
>涉及手动步骤可能导致错误.
>如果要将原始数据库作为回滚策略保留,直到新数据库可用,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读