千万个美丽的未来,抵不上一个温暖的现在,每一个真实的现在,都是我们曾经幻想的未来!
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]
Feb 13
虽然MSSQL SERVER可以删除危险扩展存储来增强安全性,但是SQL的服务毕竟是以system权限启动的,这让人很不放心。
找方法一段时间了,但也一直没付诸实施;网上搜索,没有类似的经验可以参考,以前有用华众系统安全工具这样设置过,不过设置后无法启动,归根结底还是权限有问题。(MYSQL的低权限用户启动就比较简单)
今天总算搞定MSSQL SERVER服务的user组权限帐户启动(启动帐户不归到任何用户组也可以),主要是mssql的程序目录权限,数据库目录权限,注册表中有两个位置权限需要设置。
让人郁闷的是,加了相应目录和注册表权限后,下级的目录和注册表项竟然不会主动继承上面的权限,还要我强制添加子目录和注册表项的权限才行,主要在这上面花了不少时间。
本以为SQLAGENT和SQLSERVER权限应该一样,没想到设置低权限用户后,还是无法启动,system可以,看来还是有需要改权限的地方才能启动SQLAGENT。不过这个服务用的人也不多
PS:sysinternals(现在应该算微软的了)的Process Monitor真是好东东,哈哈
1.发现C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlboot.dll无法主动继承上级目录权限,需要手工添加权限
2.sql server启动需要有对c:\windows\system32\shell32.dll的读取权限
3.找到了SQL AGENT启动了以后又停止的原因,在企业管理器-安全性-登陆中增加sqladmin的system administrator权限,这样sql agent就能管理sql server了
sql agent无法启动可以在事件日志中看到以下信息:
引用
SQLServerAgent could not be started (reason: 无法连接到服务器“(local)”; SQLServerAgent 无法启动).

相关链接:http://support.microsoft.com/default.aspx?scid=KB;en-us;q237604

需要添加的权限这里记录一下:
引用
程序文件:
C:\Program Files\Microsoft SQL Server\MSSQL
这个文件的权限需要手动添加:
C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlboot.dll

C:\Program Files\Microsoft SQL Server\80
包括子目录COM,Shared,Tools

数据库文件:
D:\Program Files\Microsoft SQL Server\MSSQL
包括子目录BACKUP,Data,FTDATA,JOBS,LOG,REPLDATA
直接用重置替换子目录的权限,有的目录和文件不会主动继承上层目录权限,需要强制覆盖权限

注册表:
这两项注册表项的子项有的权限都需要手动添加
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]