数据库用户管理(用户管理,权限分配)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 WITH PASSWORD =

'';

示例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

相关文档
最新文档