GRANT EXECUTE用于“sp_delete_database_backuphistory”用于用户组

时间:2017-05-09 11:48:35

标签: sql sql-server stored-procedures roles

我有一个具有服务器角色“dbcreator”的组登录。此登录的用户已被授予执行“sp_delete_database_backuphistory”,以便他们可以删除彼此的数据库。现在的问题是这些用户可能删除由其他登录创建的数据库。这有解决方案吗?是否可以设置权限,以便这些用户 ONLY 可以删除使用此登录名创建的数据库?

enter image description here

1 个答案:

答案 0 :(得分:0)

您不能直接执行此操作,但可以将系统sp_delete_database_backuphistory包装到您自己的usp_delete_database_backuphistory中 可以调用sp_delete_database_backuphistory或立即返回,具体取决于您要执行的检查结果。 我不能在评论中问你是什么意思说'其他用户创建的数据库',首先只有登录(不是用户)可以创建数据库,但这个信息(db creator)你无法从任何系统元数据中提取,所有你can get是当前数据库所有者,这可能与数据库创建者不同。 我的意思是,当您创建数据库时,您可以明确地指定其他登录以拥有数据库,或者您可以稍后为特定目的执行此操作