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

摘要:
MSSQL2005对2000有了很大的改进,用户关系部分变得相当复杂。很多朋友对此有一半的理解!接下来,我将与您分享我的应用程序摘要,从概念开始,希望给那些不理解的人一些提示。今天我们将讨论服务器登录名ServerLogin、服务器角色ServerRole、数据库用户DBUser、数据库模式DBSchema和数据库角色DBRole。

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

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

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

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

  • 登录名一定属于某些角色,默认为public
  • 服务器角色不容许更改
  • 登录后也不一定有权限操作数据库

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

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

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

  • 数据库用户对应于服务器登录名以便登录者可以操作数据库
  • 数据库角色可以添加,可以定制不同权限  
  • 数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象

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

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

即:

  1. 服务器登录名属于某组服务器角色;
  2. 服务器登录名需要于数据库的用户映射后才拥有操作数据库的权限
  3. 数据库用户属于某组数据库角色以获取操作数据库的权限
  4. 数据库角色拥有对应的数据库架构,数据库用户可以通过角色直接拥有架构
  5. 数据库用户有默认架构,写SQL语句可以直接以“对象名”访问
  6. 非默认架构则要以“架构名.对象名”访问

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

1、新建登录名Login1
MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系第2张

2、新建数据库DB1

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

3、新建DB1的架构Schema1

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

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

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

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

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

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

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

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

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

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

以上就是全文,希望对大家理解并创建数据库有些帮助,也请大家多多交流。

免责声明:文章转载自《MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇XPATH定位方法总结Windows Update服务启动方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据库增删改查

一. 请写出数据库分离和附加的步骤   选中数据库右键→任务→分离   选中数据库右键→附加 二. 请写出数据库导出SQL脚本的步骤   选中数据库右键→生成脚本 三. 请写出SQL Server的四种完整性约束   实体完整性束  域完整性约束  引用完整性约束  自定义完整性约束 四. 如何设置表的主键和标识列   右键 △ 设置主键   标识列在标识...

简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS

简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS:1.Toad工具用oracle最大权限用户登录system2.查看正在使用UPAY3LINGXI_YS的进程select * from v$session where username='UPAY3LINGXI_YS'3.停掉所有使用UPAY3LINGXI_YS的进程4.删除表空间(dr...

Elasticsearch logstsh同步mysql数据到ES中

1、准备: 1) 启动前面搭建的ES集群, 192.168.127.130,192.168.127.128,192.168.127.129 2) 准备要同步的数据库和数据 数据库所在的服务器IP为192.168.1.104 数据库端口为3306 数据库名shop,表名items items的表结构如下 items表的数据如下 这里有两条数据,实际环境会...

IIS连接oralce数据库时 提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”

最近由WindowsXP换到了Windows2003系统(Windows 7),Oracle也由原来的8i换到了9i。给客户发布了一个web系统,部署在本机IIS上测试的时候出现了“取不到缓存数据”的自定义异常,经过跟踪找到原因,在连接数据库时,出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本...

何谓系统架构师(转)

首先,何谓系统架构师? IBM工程师的说明是:    架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功 中文Wiki上的说明是:    系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单 这两个解释,加起来...

免疫信息学

http://blog.sciencenet.cn/blog-204973-845856.html 第一节 免疫信息学源流 上个世纪中叶充满科学传奇。那不仅是个DNA双螺旋结构阐明、分子生物学产生与兴起的时代,也是系统论、控制论、信息论纷纷形成问世并引起全球广泛关注的时代,还是电子计算机走进人类社会并产生重要影响的时代。香农发表了《通信的数学理论》,奠定了...