数据库用户管理(用户管理权限分配).doc_第1页
数据库用户管理(用户管理权限分配).doc_第2页
数据库用户管理(用户管理权限分配).doc_第3页
数据库用户管理(用户管理权限分配).doc_第4页
数据库用户管理(用户管理权限分配).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习资料:数据库用户管理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中,建立登录的步骤如下。(1)在“安全性”节点下,右击“登录名”,在右键菜单中选择“新建登录名”选项。(2)在新建登录对话框中输入用户的名称、SQL Server身份验证的密码,并指定其默认的数据库。(3)有了登录名之后,还需要赋予该登录名操作权限,否则它将只能连接到服务器,而没有任何的操作权限。操作权限分为两类。第一类是指该用户在服务器范围内能够执行哪些操作,这一类权限由固定的服务器角色来确定。可以在“服务器角色”一项中设置该用户对服务器的操作权限。固定的服务器角色一共分为8种,各自具有不同的操作权限。例如dbcreator 固定服务器角色可以创建、更改、删除和还原任何数据库。第二类权限是指该登录名对指定的数据库的操作权限。可以在“用户映射”一项中设置特定数据库的权限。固定的数据库操作权限有10个。如db_backupoperator权限可以备份数据库、db_datareader可以读取数据库中的数据、db_denydatareader不允许读取数据。提示登录名指定用户映射到的数据库后,系统将为该数据库自动创建同登录名同名的一个数据库用户。创建该用户后,该登录名就可以连接到SQL Server数据库,并可以执行权限范围内的相关操作。2)建立数据库用户每个数据库都有自己的用户列表,如果在建立登录名时没有为其指定一定的服务器角色或用户映射(即为其分配必要的操作权限),则还可以通过建立数据库用户来赋予登录名权限。数据库用户和登录名是相互链接的权限管理机制,建立数据库用户的步骤如下。(1)在指定数据库“安全性”节点下,右击“用户”,在右键菜单中选择“新建用户”选项。(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 USER语句的语法为:CREATE LOGIN WITH PASSWORD = ;/*-添加Windows登录帐户 -*/-windows用户jbtraining s26301为SQL Server登录名CREATE LOGIN jbtrainings26301 FROM WINDOWS;/*-添加SQL登录帐户-*/-登录名为zhangsan,密码为1234CREATE LOGIN zhangsan WITH PASSWORD = 1234;提示1删除用户登录账户的语句是DROP LOGIN语句。2启用/禁用用户登录账户的语句是ALTER LOGIN语句。2)建立数据库用户创建数据库用户的语法如下。CREATE USER 数据库用户 FOR LOGIN 登录帐户;其中,“数据库用户”为可选参数,默认为登录帐户,即数据库用户默认和登录帐户同名。/*-在TrainingBase数据库中添加两个用户-*/USE TrainingBaseGO-将用户名S26301DB与登录名jbtrainingS26301建立关联CREATE USER S26301DB FOR LOGIN jbtrainingS26301GO-将用户名zhangsanDBUser与登录名zhangsan 建立关联CREATE USER zhangsanDBUser FOR LOGIN zhangsanGO提示SQL Server 2008之前的版本使用系统存储过程创建登录名和用户名,代码如下:/*-添加SQL登录帐户-*/EXEC sp_addlogin GameMaster, themaster - 帐户:GameMaster, 密码:themasterGO/*-设置BBS作为当前的数据库-*/USE BBSGO/*-在TrainingBase数据库中添加一个用户-*/EXEC sp_grantdbaccess GameMaster, BBSGameMaster /*-为BBSGameMaster分配建表的权限-*/GRANT create table TO BBSGameMaster提示SQL Server 中的dbo用户是具有在数据库中执行所有活动的暗示性权限的用户,表示数据库的所有者(owner)。一般来说,如果创建了某个数据库,就是该数据库的所有者,即dbo用户。dbo 用户是一个比较特殊的数据库用户,无法删除,且此用户始终出现在每个数据库中。3)向数据库用户授权访问表的常用权限包括:添加数据(insert)、删除数据(delete)、更新数据(update)、查看数据(select)和创建表(create table)等操作。授权语句的语法为:GRANT 权限 ON 表名 TO 数据库用户USE TrainingBaseGO/*-为zhangsanDBUser分配对表trainee的select, insert, update权限-*/GRANT select, insert, update ON trainee TO zhangsanDBUser/*-为S26301DBUser分配建表的权限-*/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论