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

DB2
ASP.NET 2.0控件处理DB2 9应用程序之二
如何在AIX平台上把DB2V8升级到DB2V95
讲解七种数据库中Select Top的使用方法
Oracle教程:工具kfod的使用
Oracle数据库导入外部数据如何实现
浅谈解决DB2数据库代码页不兼容的方法
浅谈IBM DB2数据库如何迁移问题
DB2常用傻瓜问题1000问(之五)
DB2常用傻瓜问题1000问(之六)
DB2数据库的安装
IBM DB2 日常维护汇总(六)
DB2编程序技巧 (二)
DB2编程序技巧 (四)
DB2:数据同步方面的经验
DB2 UDB V8.1管理学习笔记(二)
DB2优化(简易版)
常见数据库系统之比较 - DB2数据库
DB2常用傻瓜问题1000问(之一)
DB2常用傻瓜问题1000问(之二)
DB2常用傻瓜问题1000问(之三)

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


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