在 SQL Server 2005 中,如何确定用户所需的最低权限?

Cor*_*ory 6 sql-server-2005 sql-server

我是我小组的意外 DBA,我继承了一个遵循许多不良做法的数据库。 当前,每个登录都是 sysadmin 组的成员

确定每个帐户所需的最小权限的最简单方法是什么?我知道我可以使用 SQL Server Profiler 来记录所有执行的 SQL 命令,但它会返回一堆信息。我想不出一种简单的方法来总结所有这些数据。

任何帮助,将不胜感激。

Mar*_*ith 6

如果您想从 Profiler 跟踪中去除噪音,ClearTrace是无价之宝。ClearTrace“规范化”查询,删除以下参数:

SELECT x FROM y WHERE z = 1
SELECT x FROM y WHERE z = 2
Run Code Online (Sandbox Code Playgroud)

都报告为

SELECT x FROM y WHERE z = #
Run Code Online (Sandbox Code Playgroud)

如果您从数据库中捕获足够的活动并按执行计数对 ClearTrace 报告进行排序,您将更好地了解常见/典型查询模式以及所需的权限。然后,您可以调查非典型活动并确定这些活动是否需要不同的权限集和/或由用户群的子集生成。