当前位置: 首页 > 图文教程 > 数据库 > DB2 > 编程管理SQL SERVER的帐号

DB2
IBM DB2 日常维护汇总(八)
IBM DB2 日常维护汇总(七)
IBM DB2 日常维护汇总(五)
IBM DB2 日常维护汇总(四)
IBM DB2 日常维护汇总(三)
IBM DB2 日常维护汇总(二)
IBM DB2 日常维护汇总(一)
DB2常用傻瓜问题1000问(六)
DB2常用傻瓜问题1000问(五)
MySQL数据库结构和数据的导出和导入
DB2编程序小小技巧
在DB2中提高INSERT性能的技巧(1)
db2v8的pdf文档资料
DB2 9数据服务器发展3部曲
对比DB2 9和DB2 V8.x中的XML功能
用shell抽取,更新db2的数据
IBM DB2 Connect简介(1)
使用XQuery查询DB2 XML数据
DB2 9产品说明书在线参考地址(http)
使用SQL查询DB2 9中的XML数据

DB2 中的 编程管理SQL SERVER的帐号


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 33 ::
收藏到网摘: n/a

每个人都关心数据安全。如果不关心的话,可能没有意识到访问服务器中的敏感数据是非常容易的。因为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+SQ