众所周知,在M$sql中有个绝对是网络安全中的隐患的帐号sa,系统管理员 (sa),默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。这个sa一般情况下是既不可以更改名称,也不可以删除,呵呵,有点鸡肋的味道,弃置可惜,食之无味。装上sql2000之后,感觉怪怪的,放着这个后门在,始终都不放心,担心有一天被人破出密码,那偶的电脑不就完拉。可能你回说设个强壮点的密码,这个办法是可行,可不是长久之记,所谓斩草要除根,要是把sa给删拉就不用担心那些"黑客"暴力破解拉。
呵呵,前面说拉那么半天废话,可能你已经看的不耐烦拉,好,这就说道正题,大家跟着我来一起把sa给大卸八块首先打开SQL中的企业管理器,接着在工具选项卡中选择SQLserver配置属性依次,点服务器设置,看到允许对系统目录直接进行修改前面的方框吗,点一下,好。
再打开查询分析器,登陆进去(呵呵,随便你用什么帐号进去,不过可一定要在master数据库中有db_owner的权限)输入
updatesysxloginssetname='你要改成的名字'wheresid=0x01
updatesysxloginssetsid=0xE765555BD44F054F89CD0076A06EA823wherename='你要改成的名字'
OK,执行成功,好拉,转道企业管理器中刷新安全性中的登陆,看看,sa是不是变成你要改成的名字拉,呵呵,选中你要改成的名字点击右键,怎么样是不是出现拉删除的选项,呵呵,删除。看看sa是不是已经没有拉。
后记
直接在查询分析器里怎么删除sa
直接在查询分析器里怎么删除sa,做法和前面所说的差不多,只不过这次不是在企业管理器中做手脚拉,而是利用sql提供给我们功能强大的存储过程来完成这项任务。下面就是我所说的需要利用的存储过程sp_configure,sp_configure显示或更改当前服务器的全局配置设置。
它的语法:
sp_configure[[@configname=]'name']
[,[@configvalue=]'value']
实例:
sp_configure'allowupdates',1
go
RECONFIGUREWITHOVERRIDE
go
好拉,这样我们就可以更新系统表拉,接下来和前面的做法一样拉updatesysxloginssetname='你要改成的名字'wheresid=0x01,然后再删除"你改名后的那个名字"
不过要注意在sp_configure上没有参数(或只有第一个参数)的执行许可权限默认授予所有用户。有两个参数的sp_configure(用于更改配置选项)的执行许可权限默认授予sysadmin和serveradmin固定服务器角色。RECONFIGURE权限默认授予sysadmin固定服务器角色和serveradmin固定服务器角色,并且不能传输。还得在master中是db_owner。