AWS RDS SQL Server unable to drop database

Deadly 提交于 2019-12-09 09:32:05

问题


I tried to migrate a SQL Server database by Export Data-tier Application (.bacpac file) from an Amazon RDS instance to other, but import didn't succeed. So now I want to delete the database (which is empty), when I try to:

DROP DATABASE mydatabase;

I get the error:

Cannot drop the database 'mydatabase', because it does not exist or you do not have permission

Some context:

  • I've tried using SQL Server Management Studio, and choosing close connections: same error.
  • I'm logged as master user.
  • I can create and drop other databases, but not this one.
  • I just have these effective permissions on this database: CONNECT, SHOWPLAN, VIEW DATABASE STATE, VIEW DEFINITION (don't know why or how is this possible).

Any help is greatly appreciated!


回答1:


I ran into this same issue. After trying to restore a database via SSMS using a .bacpac, it fails and leaves you with a database that you appear to not have permissions to drop.

A workaround, is to use the rdsadmin rename function to rename it to something else, which then seems to fix the permission issue and allows you to drop it.

EXEC rdsadmin.dbo.rds_modify_db_name N'<OldName>', N'<NewName>'

Then just drop the DB. Hope that helps someone else in the same predicament.




回答2:


This is answer for old thread but the answer would help somebody running over the same issue.

I run in to the same problem , but in my-case my database was in offline mode. If the database is in offline mode , it won't allow you to drop it with drop command. first you should bring the database back to online by running this sp and then execute drop table command.

EXEC rdsadmin.dbo.rds_set_database_online databasename



回答3:


Sounds like your not a member of the correct role.

https://msdn.microsoft.com/en-us/library/ee240822.aspx

Permissions

A DAC can only be deleted by members of the sysadmin or serveradmin fixed server roles, or by the database owner. The built-in SQL Server system administrator account named sa can also launch the wizard.

https://msdn.microsoft.com/en-us/library/ms178613.aspx

Permissions

SQL Server - Requires the CONTROL permission on the database, or ALTER ANY DATABASE permission, or membership in the db_owner fixed database role.

Azure SQL Database - Only the server-level principal login (created by the provisioning process) or members of the dbmanager database role can drop a database.

Parallel Data Warehouse - Requires the CONTROL permission on the database, or ALTER ANY DATABASE permission, or membership in the db_owner fixed database role.




回答4:


If your database is in a Multi-AZ deployment, then you need to run this command to drop those databases:

EXECUTE msdb.dbo.rds_drop_database N'DBName'


来源:https://stackoverflow.com/questions/27303927/aws-rds-sql-server-unable-to-drop-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!