1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

删除SQL Server中的SA帐户

本帖由 srsman2006-05-24 发布。版面名称:后端开发

  1. srsman

    srsman Active Member

    注册:
    2005-11-08
    帖子:
    1,920
    赞:
    6
    众所周知,在Mssql中有个绝对是网络安全中的隐患的帐号sa(系统管理员),默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。这个sa一般情况下是既不可以更改名称,也不可以删除。
    首先打开SQL中的企业管理器,接着在工具选项卡中选择SQL server配置属性依次点服务器设置,看到允许对系统目录直接进行修改前面的方框吗,点一下,好,再打开查询分析器,登陆进去(呵呵,随便你用什么帐号进去,不过可一定要在master数据库中有db_owner的权限)输入update sysxlogins set name=’ddd’ where sid=0x01,update set sid=0xE765555BD44F054F89CD0076A06EA823 where name=’ddd’,OK,执行成功,好拉,转道企业管理器中刷新安全性中的登陆,看看,sa是不是变成ddd拉,呵呵,选中ddd点击右键,怎么样是不是出现拉删除的选项,呵呵,删除。看看sa是不是已经没有啦?!

    直接在查询分析器里怎么删除sa,做法和前面所说的差不多,利用sqlserver提供的扩展存储过程来完成这项任务。下面就是我所说的需要利用的存储过程sp_configure,sp_configure显示或更改当前服务器的全局配置设置。
    它的语法sp_configure [ [ @configname = ] ’name’ ]
    [ , [ @configvalue = ] ’value’ ]
    sp_configure ’allow updates’, 1
    go
    RECONFIGURE WITH OVERRIDE
    go
    好啦,这样我们就可以更新系统表啦,接下来和前面的做法一样拉 update sysxlogins set name=’ddd’ where sid=0x01,然后再删除ddd,不过要注意在 sp_configure 上没有参数(或只有第一个参数)的执行许可权限默认授予所有用户。有两个参数的 sp_configure(用于更改配置选项)的执行许可权限默认授予 sysadmin 和 serveradmin 固定服务器角色。RECONFIGURE 权限默认授予 sysadmin 固定服务器角色和 serveradmin 固定服务器角色,并且不能传输。还得在master中是db_owner