【发布时间】:2011-09-06 14:26:31
【问题描述】:
问题背景
如果阅读起来有点乏味,请见谅,但请多多包涵。
我的任务是确定最严格的安全权限...或者更确切地说,调查是否可以为我们的程序使用的 SQL 服务器登录配置更严格的安全设置,但仍能正常运行。
目前,该程序作为 Windows 服务运行,配置为使用已在 SQL Server 中配置的具有受信任身份验证的 Windows 用户帐户登录。使用的登录名已被分配一个 db_owner 角色,并且该服务可以正常工作。
因此,为了缩小此用户的权限,我删除了 db_owner 权限并将其分配给 db_datareader 和 db_datawriter 角色。不幸的是,这导致了一个问题,当我启动服务时,我得到一个错误对话框显示:
错误 1053:服务没有及时响应启动或控制请求。
并在系统事件下的事件查看器中记录:
- 事件 7009(等待连接超时)
- 事件 7000(服务没有响应启动或控制)
我的问题是代码库非常大,我不确定要查找什么需要 db_owner 权限(它可能设置权限?)。
问题
我应该在执行 SQL 的程序中寻找什么会导致它需要 db_owner 权限?
如果第一个问题过于笼统:如果我记录了系统错误事件,是否有一种简单的方法/任何工具可以用来确定 Windows 服务在启动“SQL wise”期间尝试执行的操作:
- 事件 7009(超时(30000 毫秒)等待...服务连接)
- 事件 7000(服务未及时响应启动或控制请求)。
顺便说一句,我尝试在选择所有审计事件的情况下运行分析器,但在启动服务时仍然没有记录任何内容。
【问题讨论】:
标签: sql-server security permissions