【介绍】

我们打开SQL Server 2008 Management Studio, 会发现有如下几个登录: NT SERVICE\ClusSvc, NT SERVICE\MSSQL$KATMAI和 NT SERVICE\SQLAgent$KATMAI,这几个登录在安装SQL Server的时候,就会被创建。(其中NT SERVICE\ClusSvc则只有在群集环境下被创建)。我们这里介绍一下这些登录,有什么用途,对我们系统的安全性有什么影响,我们能否把他们删除,以及删除掉的后果是什么。

【SERVICE SID的引入】

NT SERVICE\MSSQL$KATMAI, NT SERVICE\SQLAgent$KATMAI和NT SERVICE\ClusSvc 其实都是Service SID所对应的名字。Service SID的引入,是为了解决多个Service可能同用一个service帐号所带来的安全隐患。如IIS 使用Network Service帐号,可能其他服务也使用Network Service帐号。为了使得IIS能够连接到SQL Server, 我们可能会把Network Service作为SQL Server的login, 但是这是不安全的。因为其他服务如果以Network Service做为启动帐号的话,也能访问SQL Server。为了解决这个问题,在SQL Server 2008/Windows Server 2008及以后,我们有了SID这个概念,这样,不同的服务,即使服务启动帐号是相同的,它们的SID也是不同的。

所以,我们这里的一些logins,并不是Windows Users或Group的名字, 而是SID的名字。其相对应的SID值,我们可以用命令 sc  showsid serviceName所得到。如下:

【SQL Server Agent的启动帐号是否需要sysadmin的权限】

如果操作系统是Windows 2003或者SQL Server 版本低于SQL Server 2008,那么SQL Server Agent的启动帐号需要sysadmin权限,否则SQL Server Agent无法启动。但是对于SQL Server 2008 在Windows 2008上面,我们发现,表面看来,似乎并不一定需要这个权限。

SID NT SERVICE\SQLAgent$KATMAI

Service Account login CONTOSO\sqlu

效果

有,并且是sysadmin

有,并且是sysadmin

SQL Agent能正常启动

有,并且是sysadmin

有,但取消sysadmin权限

SQLAgent能正常启动

有,并且是sysadmin

删除

SQLAgent能正常启动

有,但不是sysadmin

有,并且是sysadmin

SQLAgent能正常启动

有,但不是sysadmin

有,但取消sysadmin权限

SQLAgent无法启动

有,但不是sysadmin

删除

SQLAgent无法启动

删除

有,并且是sysadmin

SQLAgent能正常启动

删除

有,但取消sysadmin权限

SQLAgent无法启动

删除

删除

SQLAgent无法启动

但是上述的结果表明,或者SID [NT SERVICE\SQLAgent$KATMAI]或者Agent Service Account (CONTOSO\sqlu) 其中之一必须要有sysadmin权限。否则SQLAgent这个服务就不能正常启动。也就是说,SQL Server Agent通过NT SERVICE\SQLAgent$KATMAI或CONTOSO\sqlu来登录SQL Server。Sysadmin的权限还是需要的。

【群集环境中,是否需要NT AUTHORITY\SYSTEM登录】

我们知道,在群集环境中,Cluster服务会对SQL Server每隔一分钟做一次ISALIVE检查。ISALIVE检查是通过群集服务帐号进行的。在Windows 2008环境下,群集服务是通过Local System也就是NT AUTHORITY\SYSTEM来连数据库的。

我们有时候会发现,把登录NT AUTHORITY\SYSTEM删除,ISALIVE检查也能够成功。这是因为在我们的登录中,有NT SERVICE\ClusSvc这个SID名,所以,群集服务的ISALIVE检查通过NT AUTHRORITY\SYSTEM或NT SERVICE\ClusSvc来登录SQL Server。

【NT SERVICE\MSSQL$KATMAI】

我们可能会有需要要更改SQL Server的服务启动帐号。更改SQL Server的服务启动帐号会涉及到一系列权限的变更。但是如果有NT SERVICE\MSSQL$KATMAI这个服务SID,那么权限的变更会变得最小,因为即使服务启动帐号有变化,但是服务的SID不会有变化。涉及到服务启动帐号的登录应用还是能够正常工作。

【小结】

NT SERVICE\MSSQL$KATMAI, NT SERVICE\SQLAgent$KATMAI和NT SERVICE\ClusSvc服务SID能够使得我们的安全管理更加便利。这几个登录在安装SQL Server的时候就会被创建。添加这几个login对安全没有什么副作用。能使得我们的安全管理更加方便。

但是我们也不能认为有这几个SID的帐号,就能随便把其他的登录如NT AUTHORITY\SYSTEM给删除。某些应用,如VSS Writer ,Windows自动更新等,还是需要用服务启动帐号来进行处理。

SQL Server 2008中的Service SID 介绍的更多相关文章

  1. SQL Server 2008中新增的 1.变更数据捕获(CDC) 和 2.更改跟踪

    概述 1.变更数据捕获(CDC)        每一次的数据操作都会记录下来 2.更改跟踪       只会记录最新一条记录   以上两种的区别:         http://blog.csdn.n ...

  2. SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪

    来源:http://www.cnblogs.com/downmoon/archive/2012/04/10/2439462.html  本文主要介绍SQL Server中记录数据变更的四个方法:触发器 ...

  3. SQL点滴15—在SQL Server 2008中调用C#程序

    原文:SQL点滴15-在SQL Server 2008中调用C#程序 T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可 ...

  4. 在SQL Server 2008中调用.net,dll

    原文:在SQL Server 2008中调用.net,dll T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQ ...

  5. SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑

    SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑 关键词:CDC   原文:http://www.cnblogs.com/chenxizhang/arc ...

  6. SQL SERVER 2008中使用VARBINARY(MAX)进行图像存取的实现方法

          在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接法和内存流法.路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称 ...

  7. SQL Server 2008中的数据压缩

    SQL Server 2008中引入了数据压缩的功能,允许在表.索引和分区中执行数据压缩.这样不仅可以大大节省磁盘的占用空间,还允许将更多数据页装入内存中,从而降低磁 盘IO,提升查询的性能.当然,凡 ...

  8. SQL Server 2008中增强的"汇总"技巧

    本文转载:http://www.cnblogs.com/downmoon/archive/2012/04/06/2433988.html SQL Server 2008中的Pivot和UnPivot: ...

  9. SQL Server 2008中数据压缩

    SQL Server 2008中引入了数据压缩的功能,允许在表.索引和分区中执行数据压缩.这样不仅可以大大节省磁盘的占用空间,还允许将更多数据页装入内存中,从而降低磁盘IO,提升查询的性能.当然,凡事 ...

随机推荐

  1. Xamarin学习资源收集

    推荐入门视频 跨行動平台App開發概觀- 使用Xamarin+Visual Studio https://www.youtube.com/watch?v=ELuFTTn1gS4 中文产品介绍http: ...

  2. int a=5,则 ++(a++)的值是?

    编译出错:++(a++)先计算的是括号里的(a++),返回的结果是一个表达式,其值是5,不能对表达式进行赋值

  3. ArcGIS Portal 10.4 本地坐标系的web 3d地形展示制作说明

    原文:ArcGIS Portal 10.4 本地坐标系的web 3d地形展示制作说明 ArcGIS Portal 10.4 本地坐标系的web 3d地形展示制作说明 By 李远祥 ArcGIS Por ...

  4. iOS获取设备型号、设备类型等信息

    摘自 :http://www.mamicode.com/info-detail-1165460.html 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然 ...

  5. 10 Ways to Inspire Your Team

    Inspire. Just the word itself causes us to pause and think. We may remember our own personal heroes ...

  6. out 和 ref 之间的区别整理

    ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: 1.re ...

  7. iOS 应用程序的生命周期(转CocoaChina)

    对于iOS应用程序,关键是要知道你的应用程序是否正在前台或后台运行.由于系统资源在iOS设备上较为有限,一个应用程序必须在后台与前台有不同的行为.操作系统也会限制你的应用程序在后台的运行,以提高电池寿 ...

  8. js的语句

    1.语句类型总结 var box = 100;//单行语句 { //用花括号包含的语句集合,叫做复合语句,单位一个 //一对花括号,表示一个复合语句,处理时,可以单做一条单行语句, //复合语句,我们 ...

  9. perl常见符号

    =>  键值对,左键右值 -> 引用,相当于java中的 [对象.方法名]中的点号 :: 表示调用类的一个方法 % 散列的标志,定义一个键值对类型的 @ 数组的标志 $ 标量的标志 =~ ...

  10. iPhone批量删除照片/视频最好用的方法

    iPhone批量删除照片/视频最好用的方法 经过大量的搜索和不懈的尝试,今天终于找到了批量删除iPhone照片最好用的方法, 于是决定写一篇博客为更多的果粉们造福! 1. 通过USB将iPhone手机 ...