3.1创建SQL Server数据库登录名
打开数据库管理器->安全性->登录名->右键选择新建登录名
1)Windows身份验证
选中Windows身份验证,点击搜索,在下面的提示框中输入当前计算机的用户名(可在控制面板->用户账户->用户账户->管理用户账户中查找),然后点击检查名称,输入无误后,点击确定
在该窗口同样点击确定(默认数据库为master)
然后刷新对象资源管理器,在安全性->登录名中可查询到新建的登录名LIU-GANG\CSLCAdmin
最后断开数据库。
注销当前用户后以上面新建的登录名登录计算机,再次连接数据库,以Windows身份验证方式登录,发现数据库默认的用户名变为LIU-GANG\CSLCAdmin,点击连接,连接数据库成功。
2)SQL Server身份验证
如下操作:
登录名只能登录数据库数据库,而不能使用数据库。
3.2建立数据库用户
登录名:连接到SQL Server服务器
数据库用户名:
1)SQL Server的使用者
2)每个用来登录SQL Server的登录名都是一个用户
3)同一个数据库可以拥有多个用户,同一个用户也可以访问多个数据库
3.2.1登录名中新建用户
首先使用sa账户登录数据库
选中对应的数据库E_Market,选中安全性->用户->右键新建用户
下面的用户名可以与登录数据库的登录名相同,也可以不同。注意登录名选择上面新建的PbUser,然后点击确定
接着断开数据库的连接。使用PbUser登录名登录。发现可以正常访问E_Market数据库
3.2.2新建登录名时映射到对应的用户
首先使用sa登录数据库
新建登录名:Admins
接着选择用户映射:选择可以映射到的数据库,然后点击确定
刷新数据库E_Market,安全性->用户可查看到新建的Admins用户
3.3为数据库用户赋予权限(视图下)
为用户sysAdmin赋予查看、新增的权限
首先使用sa用户连接数据库
选中数据库E_Market->安全性->用户->选中sysAdmin->邮件点击属性->点击安全对象->点击搜索
3.3.1选择特定对象
选中特定对象确定->点击对象类型->选中表(表示对数据库中的表进行操作)->确定
点击浏览,如下图(当前环境没有表,所以没有显示),如果有具体的表,选中点击确定,即会将表列入到如下的安全对象中
3.3.2选择特定类型所有对象
再选择表,则将会列出该数据库内所有的表
3.3.3选择属于该架构的所有对象
在选择sys,则会列出所有的数据对象,包括视图、表、存储过程等,选中后可在下面为其赋予对应的权限
3.3.4使用该用户登录数据库管理器
验证上面设置的正确性,查看用户操作表的权限
3.4 为数据库用户赋予权限(sql语句)
3.4.1创建登录名
CREATE LOGIN <登录名> WITH PASSWORD = <’密码’>
--创建登录名
USE master
GO
--创建PbMaster登录名,密码为@abcd
CREATE LOGIN PbMaster WITH PASSWORD = '123456@abcd'
GO
3.4.2创建数据库用户
CREATE USER 数据库用户名 FOR LOGIN 登录名
--创建数据库用户
USE E_Market
GO
CREATE USER MasterDBUser FOR LOGIN PbMaster
GO
3.4.3为数据库用户赋予权限
GRANT 操作权限1, 操作权限2… ON 表名 TO 用户名
USE E_Market
GO
GRANT SELECT, INSERT, UPDATE ON Userinfo To MasterDBUser
GO
3.4.4从用户回收权限
--从MasterDBUser回收更新的操作权限
USE E_Market
GO
REVOKE UPDATE ON UserInfo TO MasterDBUser
GO
3.4.5查看某用户所拥有的权限
选中对应的数据库->安全性->用户->选中某用户->右键属性->选择安全对象->右侧上方是可操作的对象,下方是对应的操作权限
3.5服务器角色
角色:事先定义好的一组权限
3.5.1服务器角色
数据库服务器方面的控制权限
例如创建、修改、删除数据库,管理磁盘文件,添加或删除数据库连接等等
服务器级别的对象,只能包含登录名
角色名 |
描述 |
bulkadmin |
运行bulk语句,该语句可将文本文件内的数据导入SQL Server2008中 |
dbcreator |
创建、更改、删除和还原任何数据库 |
diskadmin |
管理磁盘文件 |
processadmin |
管理sql server中运行的进程 |
securityadmin |
管理和审核登录账户 |
serveradmin |
设置服务器范围的配置 |
setupadmin |
可以添加和删除连接服务器,并可以执行某些系统存储过程 |
sysadmin |
可以在服务器引擎中执行任何活动 |
public |
两大特点:一、初始状态时没有权限。二、所有的数据库用户都是它的成员 |
下面以dbcreator服务器角色为例说明:
使用PbUser登录名登录数据库,创建数据库提示错误信息如下:
说明PbUser登录名没有创建数据库的权限,使用sa用户登录数据库,然后点击安全性->登录名->PbUser->右键属性->服务器角色->勾选dbcreator复选框(Public复选框默认被选中)->点击确定
再次使用PbUser连接数据库管理器,然后新建数据库,成功
3.6数据库用户角色
数据库中数据的控制权限
数据库级别的一个对象,只能包含数据库用户名
例如可以访问哪个数据库,可以访问哪个数据库中的那些数据表,哪些视图,哪些存储过程等等
对哪些数据表执行哪些操作,比如是插入操作还是更新操作
固定数据库角色:
一组sql server预定义的数据库角色
具有数据库级别的管理权限
角色名 |
描述 |
db_owner |
执行所有的配置活动和维护活动,以及授予或取消数据库对象上的select,insert,update |
db_accessadmin |
Window登录账户 |
db_datareader |
读取数据库中所有用户表的数据 |
db_datawriter |
向来自数据库中所有用户表中添加,更新和删除数据 |
db_ddladmin |
运行任何数据定义语言命令 |
db_securityadmin |
管理数据库的安全,可以修改角色成员身份和管理权限 |
db_backupoperator |
可以备份数据库 |
db_denydatareader |
不能查看数据库中用户表的任何数据 |
db_denydatawriter |
不能向用户表中添加,更新或删除任何数据 |
public |
特殊的固定数据库用户,每个数据库用户都属于public数据库角色 |
Public数据库角色特点:
1)捕获数据库中用户的默认权限
2)所有用户、角色或组默认属于public角色
3)无法将用户、组或角色指派给它,因为默认情况下它属于该角色
4)不能被删除
为MasterDBUser用户服务db_ownerq权限:
自定义数据库角色:
当固定数据库角色不能满足要求的时候,可以自定义数据库角色
为MasterDBUser新建自定义角色:
1)选中E_Market数据库->安全性->角色->右键选择新建数据库角色
2)新建角色名为MyRole
所有者中的dbo按如下方式选择:浏览中选择dbo,然后点击确定
3)下方的角色成员按如下选择:MasterDBUser
4)安全对象中选择对应的表
上图的列授权,表示可以被查看或修改的列
3.6.1数据库的所有者
dbo
出现在每个数据库中
登录名sa自动映射为数据库用户dbo