SQL Server Express 2008 设置允许您为每个服务分配不同的用户帐户。
对于开发环境,您会使用域用户、本地用户、NT Authority\NETWORK SERVICE、NT Authority\Local System 或其他帐户吗?为什么?
最佳答案
不建议使用
本地系统,它是一个相当于管理员的帐户,因此可能会导致利用管理员权限进行有问题的编码,而生产系统中不允许使用管理员权限,因为具有安全意识的管理员/DBA真的不喜欢以管理员身份运行服务。
根据服务器实例是否需要访问其他域资源,应确定它应在哪种类型的低权限帐户下运行。
如果它不需要访问任何(非匿名)域资源,那么我通常会创建一个唯一的本地低权限帐户来运行它,以获得不在域中运行多个服务的额外安全优势。相同的身份背景。 Be aware that the Local Service account is not supported for the SQL Server or SQL Server Agent services.
如果确实需要访问非匿名域资源,那么您有三个选择:
- 运行方式 Network Service 这也是一个低权限帐户,但保留计算机网络凭据。
- 在本地服务帐户下运行
- 在本地权限较低的自定义域帐户下运行。在开发人员帐户下运行的一个优点是,可以更轻松地将调试器附加到您自己身份的进程,而不会影响安全性,因此调试更容易(因为非管理员帐户默认无权将调试器附加到另一个身份进程)。使用其他域帐户的缺点是管理这些帐户的开销,特别是因为每个开发人员的每项服务理想情况下都应该具有唯一的凭据,这样如果开发人员离开,您就不会出现任何泄漏。
我倾向于做的大部分事情不需要服务来访问域资源,因此我倾向于使用我管理的独特的本地低权限帐户。我还专门以非管理员用户身份运行(并且在 XP SP2、Server 2003、Vista 和 Server 2008 下这样做,没有出现重大问题),因此当我遇到需要该服务访问域资源的情况时,我不用担心关于使用我自己的域凭据(这样我就不必担心网络管理员创建/维护一堆非生产域身份)。
关于sql-server - 您建议使用什么用户帐户在开发环境中运行 SQL Server Express 2008 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63749/