如何删除SQL数据库?sp_delete_database_backuphistory的困扰。

20
我想在服务器上删除一些SQL数据库,但是我遇到了问题。我的登录用户具有以下角色:
  • public
  • dbcreator
  • serveradmin
当我右键单击数据库并选择“删除”时,它提示:

Delete backup history failed for server 'MYSERVER' (Microsoft.SqlServer.Smo)
Additional Information: The EXECUTE permission was denied on the object 'sp_delete_database_backuphistory'

我该如何删除这些数据库?
3个回答

23

enter image description here

请取消勾选"删除数据库备份和还原历史信息",然后点击"确定"按钮。

19

当您像这样从查询窗口执行时,是否遇到相同的问题?

DROP DATABASE DatabaseName

4
如果出现连接正在使用的错误,请选择主数据库作为执行数据库。或者使用以下代码: USE Master; GO DROP DATABASE AdventureWorks; GO - LockTar
1
那对我不起作用。在解析GO时遇到了语法错误。 - nwalke
有时候我很惊讶事情是如何在逻辑之外运作的。在 SSMS 中使用删除数据库界面不起作用,但执行命令却可以!真是太神奇了!;) 我从来没有想过要这样做... 嘿嘿 - Leniel Maccaferri
@LockTar的命令完美运行,如果省略GO部分。断开并重新连接以查看从对象资源管理器中删除的数据库。 - Jonathan E. Landrum
无法删除数据库“Db_Name”,因为它当前正在使用。 - nafischonchol

2

唯一有效的方法是:

1)以管理员身份运行SSMS

2)使用主用户登录(在大多数情况下是sa)。这是您安装Sql Server时指定的用户。

完成上述步骤后,即使不取消备份复选框,也能够成功删除数据库!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接