寻求有关如何处理 SQL 帐户的一些建议,这将在未来创建额外的 SQL 帐户...
设想:
我们的 Admin 生产应用程序使用名为Admin_Main的帐户连接到 SQL ,如连接字符串中所述。当有人在管理应用程序中创建新用户并为其分配报告许可证时,会在实例上为新用户创建一个新的 SQL 帐户。Admin_Main帐户用于创建此帐户。
当然,我不想为Admin_Main帐户添加比需要更多的权限,所以我的问题是;
我应该向此帐户添加哪些权限,以便它能够创建新的 SQL Server 帐户,但对实例没有管理员权限?
提前致谢!
您可以将服务器角色分配给
securityadmin
Admin_Main帐户。securityadmin
服务器角色记录为:参考:服务器级角色(Microsoft | Docs)
让我们试一试,看看我们能走多远……
创建 SQL Server 登录 Admin_Main
我们将创建一个新的 SQL Server 登录并为该用户分配
securityadmin
服务器角色:这一切都是通过具有
sysadmin
服务器角色的帐户完成的,结果是:使用 Admin_Main 登录
然后,您可以使用Admin_Main SQL Serer Login 和相应的密码打开一个新的数据库查询窗口。一旦你这样做了......
分配更高的权限
sysadmin
...您的新用户肯定会尝试通过将自己添加到服务器角色来增加他/她的权限:这导致以下结果:
所以 SQL Server 登录不能给自己分配更高的权限。
创建新用户(或:我能走多远?)
看到现在允许Admin_Main创建新的 SQL Server 登录名,让我们在仍以Admin_Main 身份登录的同时创建一个新用户并添加一些服务器级别的角色。我们将分多个步骤执行此操作,以确定分配 SQL Server 角色何时会失败:
创建登录
输入
输出
分配 securityadmin 角色
输入
输出
分配系统管理员 SQL Server 角色
输入
输出
结论
您必须将 SQL Server 角色分配给
securityadmin
Admin_Main SQL Server 登录,以允许此帐户创建新的 SQL Server 登录和/或 Windows Authenticated SQL Server 登录。...并且您不能将权限/特权分配给您的初始帐户尚未拥有的其他帐户。