来源:网络 | 2008-10-7 | (有4716人读过)
SQL Server 2000 和 SQL Server Agent 是作为 Windows 服务运行的。每个服务必须与一个 Windows 帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa 登录的用户(有时也包括其他用户)来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,那么这些操作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程(SQL Server服务帐户)可以对其进行访问。因此,为 SQL Server 服务仅授予必要的权限是十分重要的。 我们推荐您采用下列设置: 1) SQL Server Engine/MSSQLServer 如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows 域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。 2) SQL Server Agent Service/SQLServerAgent 如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。 重点: 如果下列条件之一成立,那么 SQL Server Agent 将需要本地 Windows管理员权限: SQL Server Agent 使用标准的 SQL Server 身份验证连接到SQL Server(不推荐)。 SQL Server Agent 使用多服务器管理主服务器(MSX)帐户,而该帐户使用标准 SQL Server 身份验证进行连接。 SQL Server Agent 运行非sysadmin固定服务器角色成员所拥有的 Microsoft ActiveX?脚本或 CmdExec 作业。 如果您需要更改与 SQL Serve r服务相关联的帐户,请使用 SQL Server Enterprise Manager。Enterprise Manager 将为 SQL Server 所使用的文件和注册表键设置合适的权限。不要使用 Microsoft 管理控制台的"服务"(在控制面板中)来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft Windows用户权限。 帐户信息的更改将在下一次服务启动时生效。如果您需要更改与 SQL Server 以及 SQL Server Agent 相关联的帐户,那么您必须使用 Enterprise Manager 分别对两个服务进行更改。
|