动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 SQL Server的用户及权限

作者:无从考证 来源:不详 
阅读 2424 人次 , 2006-2-15 17:39:00 

Sybase中的用户分为两种:SQL服务器用户(登录帐号)和数据库用户。  安装完SQL服务器后,系统自动建立一个SQL服务器用户sa,口令为空,即系统管理员,他对整个系统有操作权,其他用户均由系统管理员建立。   
在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。  
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public。  
1、建立SQL服务器用户名(登录帐号)  
作为一个用户,为了使用SQL Server,他必须在SQL Server上有一个SQL服务器用户名(登录帐号)。这个帐号是系统管理员通过sp_addlogin来增加的。  
sp_addlogin 登录名,口令,库名,语言,全名  
例:建立用户zhang, 口令为zhangling(最低六位),全名为Zhang ling  
1> sp_addlogin zhang,zhangling,null,null,Zhang ling  
2> go  
3> select * from syslogins  
4> go  
2、增加数据库用户名  
同样,为了使用SQL Server上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有者通过sp_adduser来增加的。数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以不同。多个用户可以有相同的SQL Server帐户。同样,多个SQL Server帐户可以有相同的数据库名。  
sp_adduser 登录名,别名,组名  
登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库用户组。  
例:用户zhang增加为tele114的用户,别名为zhang1,属于用户组china  
1>sp_addgroup china  
2>go  
1>sp_adduser zhang,zhang1,china  
2>go  
1> sp_helpuser  
2> go  
*例:删除别名zhang1,用户组china,登录名zhang  
1> use tele114  
2> go  
3> sp_dropuser zhang1  
4> go  
5> sp_helpuser  
6> go  
1>sp_dropgroup china  
2>go  
1> sp_helpgroup  
2> go  
3> use master  
4> go  
5> sp_droplogin zhang  
6> go  
7> select * from syslogins  
8> go  
3、数据库操作授权  
grant 命令序列 to 用户名  
A. 系统管理员可以授予其他用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者。  
B. 数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有:  
l CREATE TABLE ------------------- 建表  
lCREATE DEFAULT ------------------ 建缺省  
lCREATE RULE ------------------- 建规则  
lCREATE PROCedure ------------------ 建存储过程  
lCREATE VIEW ------------------- 建视图  
lDUMP DATABASE ------------------- 备份数据库  
lDUMP TRANsaction ------------------ 备份日志  
C. 数据库对象所有者可以授予其他用户的操作权限有:  
l SELECT  
l UPDATE  
l INSERT  
l EXECute  
l DELETE  
l REFERENCE  
例:授予zhang1在数据库tele114上建表,建视图,建存储过程;对表students有select,reference权;对name,native字段有update权。  
1> use tele114  
2> go  
3> grant creat table,create procedure ,create view to zhang1  
4> go  
5> grant select,reference on students to zhang1 with grant option  6> go  
7> grant update on students(name,native) to zhang1  
8> go  
9> sp_helprotect  
10> go     
 本文Tagsmssql  数据库  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:SQLServer和Oracle的常用函数对比
· 下一篇:SQL Server 2000的安全配置
· Transact_SQL小手册,适合初学者
· 循序渐进学习Power Builder 6.0(2-1-5)
· 小议MSSQL Server 2000的安全及管理
· MS SQL 7与Oracle8i的比较
· Access数据库升迁SQLServer


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077