编程管理SQL SERVER的帐号

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

时间: 2024-08-08 21:58:31

编程管理SQL SERVER的帐号的相关文章

管理SQL Server 登录

14.2.1 用SQLServer Enterprise Manager 管理SQL Server 登录 在SQL Server 中,通过SQL Server Enterprise Manager 执行以下步骤来管理SQLServer 登录: (1) 启动SQL Server Enterprise Manager, 单击登录服务器紧邻的'+' 标志.(2) 单击安全性文件夹旁边的'+ '标志.(3) 右击Logins 图标,从弹出菜单中选择New Login 选项,SQL Server 将弹出S

MS SQL基础教程:管理SQL Server登录

14.2.1 用SQLServer Enterprise Manager 管理SQL Server 登录 在SQL Server 中,通过SQL Server Enterprise Manager 执行以下步骤来管理SQLServer 登录: (1) 启动SQL Server Enterprise Manager, 单击登录服务器紧邻的'+' 标志. (2) 单击安全性文件夹旁边的'+ '标志. (3) 右击Logins 图标,从弹出菜单中选择New Login 选项,SQL Server 将弹

.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)

原文:.NET编程和SQL Server --Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数等十分有限,经常需要外部的代码来执行一些繁重的移植: 2.与CLR集成可将原本需要独立的程序来实现的功能迁移到SQL Server 内部进行数据操作: 3.T-SQL数据查询语言在返回数据集方面很好,但是除此之外表现不佳.与CLR的集成可解决这一问题: 4..NET的操作代码和执行的速度比T-SQL

通过MS SQL 数据库SA帐号增加新用户至administrators组

数据|数据库 <%'----数据库连接Start   '---二级域名名称  Main_Domain="web" '--域名格式为pcc.net  dim conn_Home  dim conn_Homestr  '定义数据库类别,1为SQL数据库,0为Access数据库  const IsSqlDataBase_Homestr = 1  call conn_Home_init()  sub conn_Home_init()     if IsSqlDataBase_Homest

用ADO管理SQL Server数据库

ado|server|sql|数据|数据库 微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一.面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库.创建数据库的工作当然可以用SQL Server提供的SQL EnterpriseManager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想.    现存问题     我们知道,在使用CREATEDATAB

用ADO管理SQL Server数据库及其设备

    微软公司的SQL Server是目前小型网络中常用的数据库管理系统之一.面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库.创建数据库的工作当然可以用SQL Server提供的SQL Enterprise Manager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想. 现存问题 我们知道,在使用CREATE DATABASE语句创建一个数据库之前,必须存在一个有

使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)应用介绍_数据库相关

概要 "SQL Server 桌面引擎"(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行.用户通过 MSDE 2000 嵌入的程序与它交互. MSDE 2000 提供的唯一工具是 Osql .可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQL/Binn 文件夹中. 本文重点讨论如何通过使用 Osql 工具管理 MSDE 2000. 何为 Osql? Osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以

使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)应用介绍

概要 "SQL Server 桌面引擎"(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行.用户通过 MSDE 2000 嵌入的程序与它交互. MSDE 2000 提供的唯一工具是 Osql .可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQL/Binn 文件夹中. 本文重点讨论如何通过使用 Osql 工具管理 MSDE 2000. 何为 Osql? Osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以

用户和安全性管理--SQL Server 的登录认证

   对任何企业组织来说,数据的安全性最为重要.安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server 并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作.因此,安全性管理与用户管理是密不可分的.SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易.    本章主要讨论如何创建和管理用户账号,以及如何实现和管理安全性,同时包括很多技巧和注意事项,这些技巧和注意事项将使您的工作更轻松,高效.