什么是build立一个Windows服务连接到远程SQL Server的build议方式?

我在服务器A上有一个服务,需要连接到服务器B上的SQL Server实例(2005或2008).A和B都在同一个域中。 configuration服务和SQL Server的最佳实践是什么,以便前者可以连接到后者?

尤其是:

  • 我想使用Windows身份validation,对不对? 不要在registry中存储密码或其他东西。
  • 服务是否应该以NT AUTHORITY \ NetworkService或其他帐户运行?
  • 什么login需要在SQL Server上创build?

简短的回答:这取决于。

  • Windows身份validation被认为是最好的做法,但是在我的环境中,我有很多情况,由于各种原因,这种情况根本不可行。
  • 我不会使用NetworkService运行服务或SQL Server – 它有太多不必要的权限。 由于您位于域中,因此只能创build具有仅限于运行每个服务所需权限的域帐户。
  • 最小的一组login名将包括您需要的任何系统pipe理员(SQL2008不会为您创build任何login)以及服务器A上的服务的服务帐户。您的环境可能还需要login其他内容,例如监视工具或需要直接连接到数据库。
  • 按照最小权限的原则,每个login应该仅限于服务器上执行其function所需的权限。