server|编程每个人都关心数据安全。如果不关心的话,可能没有意识到访问服务器中的敏感数据是非常容易的。因为SQL SERVER在这方面已经替我们考虑过了,所以在我们开发应用程序就可以直接使用SQL SERVER的安全策略。
    在SQL SERVER中,我们可以在ENTERPRISE MANAGER中创建一个登录帐号,并且赋予一定的权限,如果要做到我们的应用程序中呢?
    SQL SERVER提供了如下系统过程
    一、SP_ADDLOGIN    添加登录帐号
        SP_ADDLOGIN login_id[,password[,defaultdb[,defaultlanguage]]]
        login_id          帐号名
        password          口令
        defaultdb         缺省数据库,默认为MASTER数据库。
        defaultlanguage   缺省语言
    二、SP_ADDUSER    添加用户
        SP_ADDUSER login_id[,username[,rolename]]
        username          登录数据库的别名
        rolename          用户隶属的组名
    三、SP_DROPLOGIN  删除帐号
        SP_DROPLOGIN login_id
    四、SP_DROPUSER   删除用户
        SP_DROPUSER username
    五、GRANT         授予用户或组许可权限
        GRANT permission_list ON object_name TO name_list
        permission_list    授予的权限的清单
        object_name        被授予权限的表、视图或存储过程
        name_list          被授予权限的用户或组的清单
    六、REVOKE        收回用户或组许可权限
        REVOKE permission_list ON object_name FROM name_list
    七、SP_PASSWORD   修改口令
        SP_PASSWORD [old_password,]new_password[,login_id]
    前六个过程只能SA或被SA授予Security Administrators权限的人才可使用,第七个过程普通用户可能使用,但不能使用login_id项,只有上述权限的人才可使用此项
 
应用实例:
    添加
        declare login varchar(6),pass varchar(11)
        exec sp_addlogin login,pass,databasename
        exec sp_adduser login,login,public
        grant insert,select,update,delete on table1 to public
    删除        
        revoke insert,delete on table1 from public
        exec sp_dropuser login
        exec sp_droplogin login
    本文代码在NT4+SQL7和WIN98+SQL7和NT4+SQL6.5中测试通过
    参考资料:SQL Server 7.0 开发指南
作者:Water 
编程管理SQL SERVER的帐号
                    80酷酷网    80kuku.com 
       
  
 
 
  
