编程管理SQLSERVER的帐号

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

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

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答