数据库用户管理(用户管理,权限分配)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库用户管理
SQL Server的安全包括服务器安全和数据安全两部分。服务器安全是指可以SQL Server数据库服务器的登录管理、数据库数据的访问安全等,数据安全则包括数据的完整性、数据库文件的安全性。因此,如果你准备访问SQL Server数据库的数据,你应该具有SQL Server登录帐户和访问数据库的权限。
下面逐一讲解如何创建登录帐户、如何创建数据库用户和如何给用户授权。
一、SQL Server身份验证
在登录SQL Server时,需要选择身份验证的方式,SQL Server支持以下两种身份验证。
Windows身份验证。
SQL Server身份验证。
简单地说,Windows身份验证是使用当前登录到操作系统的用户去登录,而SQL Server 身份验证是使用SQL Server中建立的用户去登录。
登录验证通过以后,就可以像管理本机SQL Server一样来管理远程机上的SQL Server 服务。
二、建立登录帐户并赋予权限
与创建数据库一样,建立SQL Server数据库的登录名、用户名,为其赋予权限也有两种方式。
1)使用SQL Server Management Studio建立登录账户并赋予权限
2)使用T-SQL建立登录账户并赋予权限
1.在SQL Server Management Studio中建立登录账户并赋予权限
在SQL Server Management Studio中,通常需要进行三步操作。
1)建立SQL Server登录名
在SQL Server Management Studio中,建立登录的步骤如下。
首先要用widows模式登陆,在windows模式下在数据库中进行建立。
点击
(1)在“安全性”节点下,右击“登录名”,在右键菜单中选择“新建登录名”选项。
(2)在新建登录对话框中输入用户的名称、SQL Server 身份验证的密码,并指定其默认的数据库。
(3)有了登录名之后,还需要赋予该登录名操作权限,否则它将只能连接到服务器,而没有任何的操作权限。操作权限分为两类。
第一类是指该用户在服务器范围内能够执行哪些操作,这一类权限由固定的服务器角色来确定。可以在“服务器角色”一项中设置该用户对服务器的操作权限。
固定的服务器角色一共分为8种,各自具有不同的操作权限。例如dbcreator 固定服务器角色可以创建、更改、删除和还原任何数据库。
第二类权限是指该登录名对指定的数据库的操作权限。可以在“用户映射”一项中设置特定数据库的权限。
固定的数据库操作权限有10个。如db_backupoperator权限可以备份数据库、
db_datareader可以读取数据库中的数据、db_denydatareader不允许读取数据。
提示
登录名指定用户映射到的数据库后,系统将为该数据库自动创建同登录名同名的一个数据库用户。创建该用户后,该登录名就可以连接到SQL Server
数据库,并可以执行权限范围内的相关操作。
在指定数据库“安全性”节点下,右击“用户”,在右键菜单中选择“新建用户”选
项。
(2)在新建对话框中输入用户的名称,选择关联的登录名,如图1.10所示。
图1.10 创建关联登录名
3)赋予用户访问数据库的权限
有了用户名和关联登录名之后,还需要赋予用户对该数据库的操作权限。
至此,数据库用户创建完毕。此时使用创建用户时选择的关联登录名进行登录后,即具备了该数据库的相应操作权限。
经验
SQL Server安装以后,有一个超级管理员叫“sa”(Supper Administrator 的简称),但是一般不要使用这个用户管理数据,也不能把这个用户的密码
设置为空,随便使用该用户操作、密码设置为空都将给数据库带来很大的安
全隐患,所以一般在安装完毕并创建了其他登录名后,将sa账户进行禁用或
删除。
2.使用T-SQL 向数据库用户授权
1)建立数据库管理系统登录名
添加Windows登录帐户需要调用T-SQL的 CREATE LOGIN语句,其用法为:
语法
CREATE LOGIN [windows域名\域帐户] FROM WINDOWS;
创建带密码的SQL登录帐名需要调用T-SQL的CREATE LOGIN语句的语法为:语法
CREATE LOGIN
'
示例4
/*--添加Windows登录帐户 --*/
--windows用户jbtraining\ s26301为SQL Server登录名
CREATE LOGIN [jbtraining\s26301] FROM WINDOWS;
/*--添加SQL登录帐户--*/
--登录名为guohong,密码为guohong
CREATE LOGIN guohong WITH PASSWORD =‘guohong88’;
提示
删除用户登录账户的语句是DROP LOGIN语句。
drop login guohong
启用/禁用用户登录账户的语句是ALTER LOGIN语句。
alter login guohong enable
修改sa用户的登录密码
EXEC sp_password null,"123456","sa"
go
Alter LOGIN sa ENABLE
2)建立数据库用户
创建数据库用户的语法如下。
语法
CREATE USER [数据库用户] FOR LOGIN 登录帐户;
其中,“数据库用户”为可选参数,默认为登录帐户,即数据库用户默认和登录帐户同
示例5
/*--在TrainingBase数据库中添加两个用户--*/
USE TrainingBase
GO