设为首页 收藏本站
查看: 878|回复: 0

[经验分享] [SQL Server] 服务启动帐户

[复制链接]

尚未签到

发表于 2015-7-5 06:06:17 | 显示全部楼层 |阅读模式
(转载)

在SQL Server 2000中,Microsoft SQL Server 和 SQL Server 代理程序都作为 Windows 服务启动和运行。这些服务出现在"管理工具"->"服务"对话框中的已安装服务列表中,使用 Windows 控制面板可访问这些服务。在SQL Server 2005中,可选安装的服务有10种之多。 不论是安装SQLServer 2000,还是安装SQL Server 2005,其中必有一步是需要用户选择服务的登录帐户类型。


在SQL Server 2000中,界面如下所示:

DSC0000.png

在SQL Server 2005中,界面如下所示:

DSC0001.png


那么,为什么需要用户选择服务帐户类型呢,不同的服务帐户类型又有什么差别?本文就这两个问题做一简单分析。


一、为什么需要服务帐户类型


SQL Server在操作系统中是作为进程来运行的,SQL Server中的每个服务代表一个进程或一组进程。每个进程需要有访问SQL Server相关文件(如.mdf、.ndf 和 .ldf 等文件)或注册表或者SQL Server安装目录的权限。这与当前登录到SQL Server服务器上的用户权限无关。无论是管理员帐号Sa,还是普通SQL Server用户,这些SQL Server用户的权限大小与操作系统中SQL Server进程权限无关。为了能让SQL Server在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,用以登录Windows操作系统并获取需要访问文件的权限。所以服务帐户指的是Windows操作系统中的帐户。


二、不同的服务帐户类型的含义


理解了为什么需要指定服务帐户,那么我们再来看一下在SQL Server 2000以及SQL Server 2005中,不同服务帐户的作用。只有理解了不同服务帐户的作用,我们才知道在实际环境中该如何选择最适合的服务帐户。


1.  SQLServer 2000服务帐户类型


SQL Server 2000中服务帐户只有两种,如图一所示,分别是“本地系统帐户”和“域用户帐户”。两者之间的区别在SQL Server 2000联机帮助中说得很清楚:


本地系统帐户不要求密码,没有 Windows NT 4.0 和 Windows2000 的网络访问权限,同时限制 SQL Server 安装与其它服务器交互。


域用户帐户使用 Windows 身份验证,即用于连接到操作系统的用户名和密码也用于连接到 SQL Server。一般情况下都使用域用户帐户,因为许多服务器之间的活动只能使用域用户帐户才能执行,例如:远程过程调用,复制,备份到网络驱动器以及SQL邮件相关功能。也就是涉及到网络相关的操作,“本地系统帐户”就无法为力。我们从服务帐户的作用上来思考就比较容易理解原因所在。如上面为什么需要服务帐户上所说的一样,服务帐户指的是Windows操作系统中的帐户。我们知道,在Windows网络中两台计算机要通讯,被访问方需要访问方提供身份验证信息,因为本地系统帐户不属于Windows帐号中的 Everyone 组,因此,使用该帐户的服务只能通过空会话来访问网络资源。一般情况下,空会话会在最基本的安全设置中被禁用,这就是“本地系统帐户”无法使用使用网络功能的原因所在。“域用户帐户”就是通过帐号信息进行安全身份验证,只要提供的安全身份信息验证通过,网络访问就被允许。这里“域用户帐号”名字并不贴切,其实并不一定要求是AD域用户帐户,基于工作组模型的用户帐户一样可以适应于“域用户帐号”。


2.  SQLServer 2005服务帐户类型


SQL Server 2005中服务帐户类型分为“内置系统帐户”和“域用户帐户”,但“内置系统帐户”细分成三类“本地系统帐户”、“网络服务帐户”以及“本地服务帐户”。在SQL Server 2005联机帮助中不同的服务帐户类型说明如下:


“本地系统账户”是一个高特权帐户;向 SQL Server 服务帐户分配 Local System 权限时应谨慎。


“网络服务帐户” 网络服务帐户是一个特殊的内置帐户,它与通过身份验证的用户帐户类似。网络服务帐户与 Users 组的成员具有相同级别的资源和对象访问权限。 以网络服务帐户身份运行的服务将使用计算机帐户的凭据访问网络资源。Microsoft 建议,对于SQL Server 服务或 SQL Server 代理服务,不要使用 Network Service 帐户。 本地用户帐户或域用户帐户更适用于这些 SQL 服务。


“本地服务帐户”是一个内置帐户,它与通过身份验证的用户帐户类似。本地服务帐户与 Users 组的成员具有相同级别的资源和对象访问权限。如果有个别服务或进程的安全受到威胁,则此有限访问权限有助于保护系统的安全。以本地服务帐户身份运行的服务将以一个没有凭据的空会话形式访问网络资源。


“域用户帐户”是一个使用 Windows 身份验证的域用户帐户,以设置并连接到SQL Server。Microsoft 建议对 SQLServer 服务使用具有最低权限的域用户帐户,因为 SQL Server 服务不需要管理员帐户特权。


建议在实际环境中,如果存在多台SQL Server服务器互相通信,请使用“域用户帐户”。如果个人测试环境,服务帐户类型按个人喜好。


三、修改服务启动的服务帐户类型


理解了不同服务帐户类型后,如果已经部署的SQL Server服务启动服务帐户并不适合实际需求,修改服务帐户服务启动类型方法也很简单:打开”管理工具“->”服务“,选择具体的服务,修改相应的服务登录用户即可。


如果觉得服务中可选择的类型不够,可以使用如下方法修改
1. SQL Server 2000


打开企业管理器,选择要修改的SQL Server服务器,右键选择“属性”,在属性窗口"安全性"中设置。


             DSC0002.png


2. SQLServer 2005

   打开SQL Server 2005的配置工具->SQL Server配置管理器,选中“SQL Server 2005服务”,选择具体的服务,设置启动服务帐户。

DSC0003.png
更多信息参考:http://msdn.microsoft.com/zh-cn/library/ms143504.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83195-1-1.html 上篇帖子: SQL Server 2005设置自增字段 下篇帖子: [转MSDN]C#.NET操作数据库通用类(MS SQL Server篇)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表