【发布时间】:2017-10-07 17:12:44
【问题描述】:
我有一个具有服务器角色“dbcreator”的组登录。此登录的用户已被授予在“sp_delete_database_backuphistory”上执行的权限,以便他们可以删除彼此的数据库。现在的问题是这些用户有可能删除其他登录创建的数据库。有解决方案吗?是否可以设置权限,以便这些用户ONLY可以删除使用此登录名创建的数据库?
【问题讨论】:
标签: sql sql-server stored-procedures roles
我有一个具有服务器角色“dbcreator”的组登录。此登录的用户已被授予在“sp_delete_database_backuphistory”上执行的权限,以便他们可以删除彼此的数据库。现在的问题是这些用户有可能删除其他登录创建的数据库。有解决方案吗?是否可以设置权限,以便这些用户ONLY可以删除使用此登录名创建的数据库?
【问题讨论】:
标签: sql sql-server stored-procedures roles
您不能直接这样做,但是您可以将系统 sp_delete_database_backuphistory 包装到您自己的 usp_delete_database_backuphistory 可以调用 sp_delete_database_backuphistory 或根据您要执行的检查结果立即返回。 我不能在评论中问你说“其他用户创建的数据库”是什么意思,首先只有登录名(不是用户)可以创建一个数据库,但是这个信息(数据库创建者)你不能从任何系统元数据中提取,所有你can get 是当前数据库所有者,这可能与数据库创建者不同。 我的意思是,当您创建数据库时,您可以显式分配其他登录名来拥有该数据库,或者您可以稍后出于某些目的这样做
【讨论】: