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

DB2
在Linux虚拟机上安装 DB2 9
DB2 9励精图强 Viper 2续写传奇
DB2返回SQLCODE -818 错误
DB2未来版“Viper 2” :为IT敏捷加速
解析:DB2 无限活动日志策略的实用技巧
SQL Server和MySQL的安全性分析
DB2数据库归档日志的管理方案
实例解析IBM DB2的数据复制、迁移方法
备份恢复DB2数据库步骤
DB2 9部署定制的安全性插件
DB2 Web 服务提供者的安全性
DB2无限活动日志策略从介绍到实用技巧
实现对 DB2 UDB 的低层访问控制
DB2数据库安全涉及的问题
关于DB2 数据库授权的研究
DB2 数据库身份验证基础
监控 DB2 活动之捕获事件监控数据
使用重定向恢复克隆 DB2 数据库
监控 DB2 活动之捕获快照数据
DB2 数据库特权授予的方法和技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 34 ::
收藏到网摘: 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