MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系


  MS SQL20052000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示。

  今天我们要说的包括服务器登录名Server Login,服务器角色Server Role,数据库用户DB User,数据库架构DB Schema,数据库角色DB Role 。以上几个名词应该从服务器与数据库来区分,服务器包含一到多个数据库,其中:

  服务器登录名,指有权限登录到某服务器的用户;

  服务器角色,指一组固定的服务器用户,默认有9组;

  登录名一定属于某些角色,默认为public

  服务器角色不容许更改

  登录后也不一定有权限操作数据库

  数据库用户,指有权限能操作数据库的用户;

  数据库角色,指一组固定的有某些权限的数据库角色;

  数据库架构,指数据库对象的容器;

  数据库用户对应于服务器登录名以便登录者可以操作数据库

  数据库角色可以添加,可以定制不同权限  

  数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象

  而通过下图可以让这些概念清晰一些:

  即:

  服务器登录名属于某组服务器角色;

  服务器登录名需要于数据库的用户映射后才拥有操作数据库的权限

  数据库用户属于某组数据库角色以获取操作数据库的权限

  数据库角色拥有对应的数据库架构,数据库用户可以通过角色直接拥有架构

  数据库用户有默认架构,写SQL语句可以直接以对象名访问

 

  非默认架构则要以架构名.对象名访问

  因此,新建一个非SA账户并建立数据库的过程可以如下:

  1、新建登录名Login1

  图片看不清楚?请点击这里查看原图(大图)。

  2、新建数据库DB1

  图片看不清楚?请点击这里查看原图(大图)。 

  3、新建DB1的架构Schema1

  图片看不清楚?请点击这里查看原图(大图)。 

  4、新建BD1的用户User1,登录名对应Login1,默认架构选择Schema1,角色选择db_owner

 

  图片看不清楚?请点击这里查看原图(大图)。 

  5、在登录名Login1的属性窗口里选择用户映射,勾选DB1,在用户里填写User1,默认架构选择"Schema1"

  图片看不清楚?请点击这里查看原图(大图)。 

  6、至此,新建表名会是Schema1.Table1,其他对象也如此

  图片看不清楚?请点击这里查看原图(大图)。 

  7、当然还可以新建其他架构的对象Schema2,只有User1拥有该架构,一样可以访问,如Schema2.Table2

  值得注意的是,当为登录映射数据库用户的时候,多个数据库可以有相同名称的用户,而单独为某个数据库新建的用户,如User1,则在其他数据库里不允许同名。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会根据您的问题来为您解答SQL Server的基础学习中,如何创建登录用户、创建数据库用户以及分配权限的问题。 1. 创建登录用户SQL Server中创建登录用户需要使用以下语句: ``` CREATE LOGIN login_name WITH PASSWORD = 'password'; ``` 其中,`login_name`是您要创建的登录用户名,`password`是该用户的密码。 如果需要为该用户指定特定的数据库作为默认数据库,可以使用以下语句: ``` CREATE LOGIN login_name WITH PASSWORD = 'password', DEFAULT_DATABASE = database_name; ``` 其中,`database_name`是您要指定的数据库名称。 2. 创建数据库用户SQL Server中创建数据库用户需要使用以下语句: ``` USE database_name; CREATE USER user_name FOR LOGIN login_name; ``` 其中,`database_name`是您要创建用户数据库名称,`user_name`是您要创建的数据库用户名,`login_name`是您刚刚创建的登录用户名。 如果需要为该用户指定特定的模式作为默认模式,可以使用以下语句: ``` USE database_name; CREATE USER user_name FOR LOGIN login_name WITH DEFAULT_SCHEMA = schema_name; ``` 其中,`schema_name`是您要指定的模式名称。 3. 分配权限 在SQL Server中分配权限需要使用以下语句: ``` USE database_name; GRANT permission_name TO user_name; ``` 其中,`database_name`是要分配权限的数据库名称,`permission_name`是要授予的权限名称,`user_name`是要授予权限的数据库用户名。 如果需要撤销该用户的权限,可以使用以下语句: ``` USE database_name; REVOKE permission_name FROM user_name; ``` 以上就是SQL Server中创建登录用户、创建数据库用户以及分配权限的基本操作方法。希望这些信息对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值