我以前在服务器(windows server 2008)上做过这个,但不能在另一个虚拟服务器上实现同样的事情
我希望低级别域用户运行该MSSQLSERVER
服务,以便我可以启用到远程网络位置的备份,这在我的其他 SQL Server 2008R2 实例上运行良好。
我有一个名为的域用户fred@mydomain
我已将此用户添加到服务器本地管理员组和组SQLServerMSASUser$**MYSERVER**$MSSQLSERVER
。我认为这是允许成员运行MSSQLSERVER
服务的组
我已经在 SQL Server 中为用户创建了登录名,并将他添加到除 dbcreator 之外的所有服务器角色,并将其作为公共数据库角色映射到所有实例数据库
但是,当我转到 SQL Server 配置管理器更改MSSQLSERVER
服务并选择fred@mydomain
并按应用时,出现登录错误。
谁能建议我可能错过了什么?我用这里作为参考
如果您检查事件日志,该事件是否说明需要“作为服务登录”权限?
根据我的经验,您需要为您选择的帐户添加“作为服务登录”权限。虽然 SQL Server 配置管理器应该可以处理这个问题,但我发现它并不总是如此。尝试以下操作:
在 SQL Server 配置管理器中,输入用户名 MYDOMAIN\Fred,而不是 [email protected]。
您根本不需要授予该帐户任何权限 - Configuration Manager 将负责用户权限和组成员资格、SQL 登录名和服务器角色,以及服务主密钥保护等其他任务。
但是,这仅在您使用 Configuration Manager 时有效。不要使用服务工具更改 SQL Server 服务帐户。
此外,确认您正在使用提升的权限(以管理员身份运行)运行 Configuration Manager。
我强烈建议您将帐户从本地管理员组中删除。如果有人以某种方式破坏了您的 SQL Server,那么他们就破坏了您的服务器。
TechNet:配置 Windows 服务帐户和权限。
首先,您不应该为您的 SQL Server 服务帐户提供实例级权限和数据库级权限,这违背了所有安全最佳实践。当您通过 SQL Server 配置管理器分配服务帐户时,SQL 将为用户提供运行 SQL Server 服务所需的权限。
所以我首先会删除您授予的所有权限,对于您遇到的问题,需要为服务帐户提供本地安全策略“作为服务登录”,您会在本地安全策略下找到它用户权限分配。
您可以通过在 Windows 运行框下写入 secpol.msc 来获取本地安全策略
PS ,你也应该意识到当
您已授予用户 sysadmin,该用户基本上拥有 SQL Server 世界中的所有权利。我建议您花一些时间阅读 BOL 固定服务器角色部分,以了解每个固定服务器角色的作用。