您建议在开发环境中运行 SQL Server Express 2008 服务的用户帐户是啥?
Posted
技术标签:
【中文标题】您建议在开发环境中运行 SQL Server Express 2008 服务的用户帐户是啥?【英文标题】:What user account would you recommend running the SQL Server Express 2008 services in a development environment?您建议在开发环境中运行 SQL Server Express 2008 服务的用户帐户是什么? 【发布时间】:2010-09-08 23:45:28 【问题描述】:SQL Server Express 2008 设置允许您为每个服务分配不同的用户帐户。
对于开发环境,您会使用域用户、本地用户、NT Authority\NETWORK SERCVICE、NT Authority\Local System 还是其他帐户,为什么?
【问题讨论】:
【参考方案1】:本地系统 不推荐使用,它是管理员等效帐户,因此可能导致使用管理员权限的有问题的编码,这在生产系统中是不允许的,因为具有安全意识的管理员/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 代理服务不支持本地服务帐户 - 使用网络服务msdn.microsoft.com/en-us/library/ms143504(v=sql.105).aspx 您能解释一下网络服务帐户和Windows域帐户之间的区别吗? 这里有一个很好的细分:msdn.microsoft.com/en-us/library/ms143504%28v=sql.105%29.aspx【参考方案2】:MS 现在有一篇很好的文章: http://msdn.microsoft.com/en-us/library/ms143504(v=sql.105).aspx
他们声明 SQL Server 引擎不允许本地服务。 就我个人而言,我使用本地系统只是为了避免在开发过程中出现问题,但在生产中,最佳做法是创建一个域级服务帐户,并只具有完成工作所需的权限。
【讨论】:
【参考方案3】:任何它想使用的默认值。改变它只是在以后自找麻烦。
【讨论】:
只有 SQL Server Browser 服务的默认值是 NETWORK SERVICE。我设置的另外两个服务(数据库引擎和报告服务)没有任何默认值。网络服务和本地系统在下拉列表中可用。【参考方案4】:视情况而定。
本地系统 - 从不,它太高了 一种特权。 网络服务 - 也许,如果您需要连接到 网络资源,但那是 疑。 本地服务 - 可能 最好的选择,有限的特权, 不要解锁网络连接 本地交互用户?可以 确实需要有登录权限,或者 充当用户? 域用户?善良 不,除非您正在访问 内部的网络驱动器;如果 SQL 运行异常然后攻击者是 针对域进行身份验证。【讨论】:
Microsoft SQL Server 不支持本地服务 - 此人的回答应全部忽略。 不支持在“本地服务”下运行。见technet.microsoft.com/en-us/library/ms191543(v=sql.105).aspx以上是关于您建议在开发环境中运行 SQL Server Express 2008 服务的用户帐户是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在生产之前,您如何在可能的 sql server 死锁上测试您的软件?