簡體   English   中英

AWS RDS SQL Server 無法刪除數據庫

[英]AWS RDS SQL Server unable to drop database

我嘗試通過導出數據層應用程序( .bacpac文件)將 SQL Server 數據庫從 Amazon RDS 實例遷移到其他實例,但導入沒有成功。 所以現在我想刪除數據庫(它是空的),當我嘗試:

DROP DATABASE mydatabase;

我收到錯誤:

無法刪除數據庫“mydatabase”,因為它不存在或您沒有權限

一些背景:

  • 我試過使用 SQL Server Management Studio,並選擇關閉連接:同樣的錯誤。
  • 我以主用戶身份登錄。
  • 我可以創建和刪除其他數據庫,但不能創建和刪除這個數據庫。
  • 我對這個數據庫只有這些有效的權限: CONNECTSHOWPLANVIEW DATABASE STATEVIEW DEFINITION (不知道為什么或如何可能)。

任何幫助是極大的贊賞!

我遇到了同樣的問題。 在嘗試使用 .bacpac 通過 SSMS 還原數據庫后,它失敗並為您留下一個您似乎無權刪除的數據庫。

一種解決方法是使用 rdsadmin 重命名功能將其重命名為其他名稱,然后似乎可以解決權限問題並允許您刪除它。

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

然后只需刪除數據庫。 希望能幫助處於同樣困境的其他人。

這是舊線程的答案,但誰知道呢,它可能會幫助遇到相同問題的人。

我遇到了同樣的問題,但就我而言,我的數據庫處於離線模式。 如果數據庫處於離線模式,則不允許您使用 drop 命令刪除它。 首先,您應該通過運行此 sp 使數據庫重新聯機,然后執行 drop table 命令。

EXEC rdsadmin.dbo.rds_set_database_online databasename

如果您的數據庫在多可用區部署中,那么您需要運行以下命令來刪除這些數據庫:

EXECUTE msdb.dbo.rds_drop_database N'DBName'

聽起來您不是正確角色的成員。

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

權限

DAC 只能由 sysadmin 或 serveradmin 固定服務器角色的成員或數據庫所有者刪除。 名為 sa 的內置 SQL Server 系統管理員帳戶也可以啟動該向導。

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

權限

SQL Server - 需要對數據庫的 CONTROL 權限,或 ALTER ANY DATABASE 權限,或 db_owner 固定數據庫角色的成員身份。

Azure SQL 數據庫- 只有服務器級主體登錄(由供應過程創建)或 dbmanager 數據庫角色的成員才能刪除數據庫。

並行數據倉庫- 需要對數據庫的 CONTROL 權限,或 ALTER ANY DATABASE 權限,或 db_owner 固定數據庫角色的成員身份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM