联系如下:
登录名可以理解为进入整个大楼的钥匙,用户名可以理解为一个房间的钥匙。这里所说的大楼就是sql server服务器,而房间就是这个sql server服务器中的具体的库。
区别如下:
1、映射关系不同
一个登录名可以和多个不同库下的用户做映射。
在同一个库下只能和一个用户做映射,并且一个用户名可以和多个登录名有映射关系,。
2、权限不同
真正有权限的是用户名,登录名只有登进数据库的功能,然后去找映射的用户名,这样就有了相应的权限。
扩展资料:
在SQL Server中,用户和角色是分为服务器级别和数据库级别的。
服务器级别:
登录名:指有权限登录到某服务器的用户,例如超级管理员的登录名是sa;
服务器角色:为帮助您管理服务器上的权限,SQL Server 提供了若干角色,这些角色是用于对其他主体进行分组的安全主体。 服务器级角色的权限作用域为服务器范围。
数据库级别:
用户:指有权限能 *** 作数据库的用户;
数据库级别设置:
服务器级 -> 数据库级 -> 架构级 - > 数据对象级,比如说:ServerDataBase1dboTable1;这里的意思就是Table1这个表属于dbo这个架构,dbo这个架构属于DataBase1这个数据库,DataBase1这个数据库属于Server这个服务器。
里面的架构其实就是一个容器,好像就是面向对象里面的命名空间,一个用户可以拥有多个架构,但是不能对没有拥有的架构进行 *** 作。
一个数据库角色,是对不同架构里面数据对象的权限组织,也有可能涉及到多个架构,当某一个用户被转换成一种数据库角色的时候,假如这个用户本身不拥有某一个架 构而该数据库角色拥有,那它当它对那个架构进行 *** 作的时候就会出错。
都是用于设置权限的,如果你是设计数据库软件的话大可不必特别关注这些。
登录:分系统登录和SA账户登录,前者就是能登进Windows可就能用SQL Sever的数据库,后者就是在能登进Windows的情况下还能登录SA账户才能用。至于角色(包括服务器角色、数据库角色),首先要明确角色是权限的集合(一般系统中预设了几个,也可以自己定义),它用于分配给用户,一旦用户被分配给了某一个角色时,角色是什么权限,用户就是什么权限。用户与用户组就是把用户归类于用户组中,以便统一管理。这样在,对一群用户作权限更改时(前提是这些用户在一个用户组中),只要更改用户组就行了,不必对每个用户都去设一遍。
角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。
Microsoft® Windows NT® 和 Windows® 2000 组的使用方式与角色很相似。有关更多信息,请参见组。
如果根据工作职能定义了一系列角色,并给每个角色指派了适合这项工作的权限,则很容易在数据库中管理这些权限。之后,不用管理各个用户的权限,而只须在角色之间移动用户即可。如果工作职能发生改变,则只须更改一次角色的权限,并使更改自动应用于角色的所有成员, *** 作比较容易。
在 Microsoft® SQL Server™ 2000 和 SQL Server 70 版中,用户可属于多个角色。
以下脚本说明登录、用户和角色的添加,并为角色授予权限。
USE master
GO
sp_grantlogin 'NETDOMAIN\John'
GO
sp_defaultdb 'NETDOMAIN\John', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Sarah'
GO
sp_defaultdb 'NETDOMAIN\Sarah', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Betty'
GO
sp_defaultdb 'NETDOMAIN\Betty', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Ralph'
GO
sp_defaultdb 'NETDOMAIN\Ralph', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Diane'
GO
sp_defaultdb 'NETDOMAIN\Diane', 'courses'
GO
USE courses
GO
sp_grantdbaccess 'NETDOMAIN\John'
GO
sp_grantdbaccess 'NETDOMAIN\Sarah'
GO
sp_grantdbaccess 'NETDOMAIN\Betty'
GO
sp_grantdbaccess 'NETDOMAIN\Ralph'
GO
sp_grantdbaccess 'NETDOMAIN\Diane'
GO
sp_addrole 'Professor'
GO
sp_addrole 'Student'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\John'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\Sarah'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\Diane'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Betty'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Ralph'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Diane'
GO
GRANT SELECT ON StudentGradeView TO Student
GO
GRANT SELECT, UPDATE ON ProfessorGradeView TO Professor
GO
该脚本给 John 和 Sarah 教授提供了更新学生成绩的权限,而学生 Betty 和 Ralph 只能选择他们自己的成绩。Diane 因同时教两个班,所以添加到两个角色中。ProfessorGradeView 视图应将教授限制在自己班学生的行上,而 StudentGradeView 应限制学生只能选择自己的成绩。
SQL Server 2000 和 SQL Server 70 版在安装过程中定义几个固定角色。可以在这些角色中添加用户以获得相关的管理权限。下面是服务器范围内的角色。
固定服务器角色
描述
sysadmin
可以在 SQL Server 中执行任何活动。
serveradmin
可以设置服务器范围的配置选项,关闭服务器。
setupadmin
可以管理链接服务器和启动过程。
securityadmin
可以管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。
processadmin
可以管理在 SQL Server 中运行的进程。
dbcreator
可以创建、更改和除去数据库。
diskadmin
可以管理磁盘文件。
bulkadmin
可以执行 BULK INSERT 语句。
可以从 sp_helpsrvrole 获得固定服务器角色的列表,可以从 sp_srvrolepermission 获得每个角色的特定权限。
每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果 Database1 和 Database2 中都有叫 UserX 的用户 ID,将 Database1 中的 UserX 添加到 Database1 的 db_owner 固定数据库角色中,对 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成员没有任何影响。
固定数据库角色
描述
db_owner
在数据库中有全部权限。
db_accessadmin
可以添加或删除用户 ID。
db_securityadmin
可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin
可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。
db_backupoperator
可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
db_datareader
可以选择数据库内任何用户表中的所有数据。
db_datawriter
可以更改数据库内任何用户表中的所有数据。
db_denydatareader
不能选择数据库内任何用户表中的任何数据。
db_denydatawriter
不能更改数据库内任何用户表中的任何数据。
可以从 sp_helpdbfixedrole 获得固定数据库角色的列表,可以从 sp_dbfixedrolepermission 获得每个角色的特定权限。
数据库中的每个用户都属于 public 数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给 public 角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给 public 角色的权限。
首先打开数据库,并以windows身份验证模式_牢固数据库;
然后在左侧的对象资源管理器中展开安全性节点,鼠标右键点击节点中的登录名,在d出的菜单中单击新建登录名
1在登录名右侧的文本框中输入新建的管理员账号名称;
2一对单选按钮组中,选择SqlServer身份验证,并输入登录密码;
3勾选强制实施密码策略复选框;(密码策略一般是指加强用户登录的密码方式例如:可能需要至少8个以上字符,或在尝试若干登陆失败后该账号即被禁止登陆等等!如果觉得麻烦可以不必勾选!)。
4不勾选强制密码过期;(如果勾选该项的话,则每一次登陆后系统都会提示用户必须更改现有密码,如非特殊需求,不建议勾选此项!)。
然后继续点选左侧选项页下的服务器角色;
在右侧的服务器角色面板中,勾选public和sysadmin两项!
注意:如果建立的账号不需要具备系统管理员的权限时,则不要勾选sysadmin项!
继续点选左侧选项页中的用户映射。
在右侧的面板中勾选该账号可以进行管理 *** 作的数据库名称!并在该面板下面的数据库角色成员身份中勾选db_owner项!
注意:如果给一个无系统管理权限的账号指定管理一个数据库时,则一定要勾选db_owner项!否则该账号则无法看到该数据库中的任何数据表!
选后点选选择页下的状态选项进行设置
分为:服务器级别角色和数据库级别的角色 服务器级别角色 固定服务器角色在其作用域内属于服务器范围。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。 固定服务器角色有: bulkadmin dbcreator diskadmin processadmin securityadmin serveradmin setupadmin sysadmin 数据库级别的角色 固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。 db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份;但是,只有 db_owner 数据库的成员可以向 db_owner 固定数据库角色中添加成员。 固定数据库角色包括: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin public 数据库角色 每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。
各个角色是对应不同权限的,sql server中有很多权限,可以把这些权限组合或单独赋给各个角色,从而使不同角色的用户的权限不同,你列出的都是内置角色。你看看下面这些对你有没有帮助,希望你解决你的问题。
为便于管理数据库中的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体的安全主体。它们类似于 Microsoft Windows *** 作系统中的组。数据库级角色的权限作用域为数据库范围。
SQL Server 中有两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和您可以创建的“灵活数据库角色”。
固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份。但是,只有 db_owner 数据库角色的成员能够向 db_owner 固定数据库角色中添加成员。msdb 数据库中还有一些特殊用途的固定数据库角色。
您可以向数据库级角色中添加任何数据库帐户和其他 SQL Server 角色。固定数据库角色的每个成员都可向同一个角色添加其他登录名。
重要提示:
请不要将灵活数据库角色添加为固定角色的成员。这会导致意外的权限升级。
下表显示了固定数据库级角色及其能够执行的 *** 作。所有数据库中都有这些角色。
数据库级别的角色名称 说明
db_owner
db_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库。
db_securityadmin
db_securityadmin 固定数据库角色的成员可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级。
db_accessadmin
db_accessadmin 固定数据库角色的成员可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限。
db_backupoperator
db_backupoperator 固定数据库角色的成员可以备份数据库。
db_ddladmin
db_ddladmin 固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令。
db_datawriter
db_datawriter 固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。
db_datareader
db_datareader 固定数据库角色的成员可以从所有用户表中读取所有数据。
db_denydatawriter
db_denydatawriter 固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据。
db_denydatareader
db_denydatareader 固定数据库角色的成员不能读取数据库内用户表中的任何数据。
有关数据库级固定角色权限的特定信息,请参阅固定数据库角色的权限(数据库引擎)。
msdb 角色
msdb 数据库中包含下表显示的特殊用途的角色。
msdb 角色名称 说明
db_ssisadmin
db_ssisoperator
db_ssisltduser
这些数据库角色的成员可以管理和使用 SSIS。从早期版本升级的 SQL Server 实例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的旧版本角色。有关详细信息,请参阅 使用 Integration Services 角色。
dc_admin
dc_operator
dc_proxy
这些数据库角色的成员可以管理和使用数据收集器。有关详细信息,请参阅数据收集器的安全性。
PolicyAdministratorRole
db_ PolicyAdministratorRole 数据库角色的成员可以对基于策略的管理策略和条件执行所有配置和维护活动。有关详细信息,请参阅使用基于策略的管理来管理服务器。
ServerGroupAdministratorRole
ServerGroupReaderRole
这些数据库角色的成员可以管理和使用注册的服务器组。有关详细信息,请参阅创建服务器组。
重要提示:
db_ssisadmin 角色和 dc_admin 角色的成员也许可以将其权限提升到 sysadmin。之所以会发生此权限提升,是因为这些角色可以修改 Integration Services 包,而 SQL Server 可以使用 SQL Server 代理的 sysadmin 安全上下文来执行 Integration Services 包。若要防止在运行维护计划、数据收集组和其他 Integration Services 包时出现此权限提升,请将运行包的 SQL Server 代理作业配置为使用拥有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。
使用服务器级角色
下表说明了用于服务器级角色的命令、视图和函数。
功能 类型 说明
sp_helpdbfixedrole (Transact-SQL)
元数据
返回固定数据库角色的列表。
sp_dbfixedrolepermission (Transact-SQL)
元数据
显示固定数据库角色的权限。
sp_helprole (Transact-SQL)
元数据
返回当前数据库中有关角色的信息。
sp_helprolemember (Transact-SQL)
元数据
返回有关当前数据库中某个角色的成员的信息。
sysdatabase_role_members (Transact-SQL)
元数据
为每个数据库角色的每个成员返回一行。
IS_MEMBER (Transact-SQL)
元数据
指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。
CREATE ROLE (Transact-SQL)
命令
在当前数据库中创建新的数据库角色。
ALTER ROLE (Transact-SQL)
命令
更改数据库角色的名称。
DROP ROLE (Transact-SQL)
命令
从数据库中删除角色。
sp_addrole (Transact-SQL)
命令
在当前数据库中创建新的数据库角色。
sp_droprole (Transact-SQL)
命令
从当前数据库中删除数据库角色。
sp_addrolemember (Transact-SQL)
命令
为当前数据库中的数据库角色添加数据库用户、数据库角色、Windows 登录名或 Windows 组。
sp_droprolemember (Transact-SQL)
命令
从当前数据库的 SQL Server 角色中删除安全帐户。
public 数据库角色
每个数据库用户都属于 public 数据库角色。如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的 public 角色的权限。
以上就是关于sqlserver2017为用户提供了哪两个角色全部的内容,包括:sqlserver2017为用户提供了哪两个角色、给我一个电脑学习方向吧、SQL Server 中的登录名与用户名有什么区别和联系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)