宝鸡,古山光,艳鬼山坟国语
原创链接:
sql server 基础教程中关于服务器登录名、服务器角色、数据库用户、数据库角色、架构的关系。
我们要说的包括服务器登录名server login,服务器角色server role,数据库用户db user,数据库架构db schema,数据库角色db role 。以上几个名词应该从服务器与数据库来区分,服务器包含一到多个数据库,其中:
服务器登录名,指有权限登录到某服务器的用户;
服务器角色,指一组固定的服务器用户,默认有9组;
数据库用户,指有权限能操作数据库的用户;
数据库角色,指一组固定的有某些权限的数据库角色;
数据库架构,指数据库对象的容器;
而通过下图可以让这些概念清晰一些:
即:
因此,新建一个非sa账户并建立数据库的过程可以如下:
1、新建登录名login1
2、新建数据库db1
3、新建db1的架构schema1
在 sql server management studio 中,打开对象资源管理器,然后展开“数据库”文件夹。
展开要在其中创建新数据库架构的数据库。
右键单击“安全性”文件夹,指向“新建”,然后单击“架构”。
在“常规”页上的“架构名称”框中输入新架构的名称。
在“架构所有者”框中,输入要拥有该架构的数据库用户或角色的名称。
单击“确定”。
4、新建bd1的用户user1,登录名对应login1,默认架构选择schema1,角色选择db_owner
在 sql server management studio 中,打开对象资源管理器,然后展开“数据库”文件夹。
展开要在其中创建新数据库架构的数据库。
右键单击“安全性”文件夹,指向“新建”,然后单击“用户”。
在“常规”页上的“用户名”框中输入”用户名“。
5、在登录名login1的属性窗口里选择“用户映射”,勾选db1,在用户里填写user1,默认架构选择"schema1"
6、至此,新建表名会是schema1.table1,其他对象也如此
7、当然还可以新建其他架构的对象schema2,只有user1拥有该架构,一样可以访问,如schema2.table2
值得注意的是,当为登录映射数据库用户的时候,多个数据库可以有相同名称的用户,而单独为某个数据库新建的用户,如user1,则在其他数据库里不允许同名。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论