我在服务器 A 上有一个服务,需要连接到服务器 B 上的 SQL Server 实例(2005 或 2008)。A 和 B 都位于同一个域中。配置服务和 SQL Server 以便前者可以连接到后者的最佳做法是什么?
尤其:
- 我想使用 Windows 身份验证,对吗?不将密码存储在注册表或其他地方。
- 该服务是否应以 NT AUTHORITY\NetworkService 或其他帐户身份运行?
- 需要在 SQL Server 上创建哪些登录?
答案1
简短的回答是:这得视情况而定。
- Windows 身份验证被认为是最佳实践,但在我的环境中,由于各种原因,它在许多情况下并不实用。
- 我不会使用 NetworkService 运行服务或 SQL Server - 它有太多不必要的权限。由于您在域中,请创建权限仅限于运行每个服务所需的权限的域帐户。
- 最小登录集将包括您需要的任何系统管理员(SQL2008 不会为您创建任何登录)和服务器 A 上服务的服务帐户。您的环境可能还需要其他登录,例如监控工具或需要直接连接到数据库的用户。
- 为了遵循最小特权原则,每次登录应该仅限于服务器上执行其功能所需的权限。