1. 管理和维护登录名技术
1.1 SQL Server的身份验证模式
用户想操作SQL Server中某一数据库中的数据,必须满足以下3个条件:
首先,登录SQL Server服务器时必须通过身份验证;其次,必须是该数据库的用户或者是某一数据库角的成员;最后,必须有执行该操作的权限。由此可看SQL Server数据库的安全性检查是通过登录名、用户、权限来完成的。
1.1.1 Windows 身份验证模式
当用户通过Windows用户帐户进行连接时,SQL Server通过回叫Windows 以获得信息,重新验证帐户名和密码,并在sys.syslogins系统视图中查该帐户,确定该帐户是否有权限登录。在这种方式下,用户不必提供登录名和密码让SQL server验证。
1.1.2混合验证模式
混合验证模式使用户能够通过Windows身份验证或SQL Server身份验证与SQL Server实例连
接。在SQL Server验证模式下,SQL Serversys.syslogins系统视图中检测输入的登录名和密码。如果在sys.syslogins视图中存在该登录名,并且密码也是匹配的,那么该登录名可以登录到SQL Server;否则,登录失败。在这种方式下,用户必须提供登录名和密码,让SQL server验证。
1.1.3设置验证模式
可以使用SQL Server Management Studio来设置或改变验证模式。当使用SQL Server Management Studio时,应遵循以下步骤:
(1)打开SQL Server Management Studio,在对象资源管理器中,右击需要修改验证模式的服务器,再单击快捷菜单中的属性选项,出现服务器属性对话框,在服务器属性对话框中单击安全性 选择页。
(2)如果想仅使用Windows身份验证,选择Windows身份验证模式;如果想使用混合认证模式,选择SQL ServerWindows身份验证模式
(3)登录审核中设置是否对用户登录SQL Server 2005服务器的情况进行审核,即是否将
登录成功和失败的信息写入SQL Server错误日志中。
1.2 登录账户管理
1.2.1系统安装时创建的登录账户
SQL Server 2005安装好之后,系统会自动产生一些系统内置登录账户。
本地管理员组(BUILT\Administrators:默认属于sysadmin角中的成员,因此具有管理员权限。
系统管理员 (sa):默认情况下,它指派给固定服务器角 sysadmin,并不能进行更改。
1.2.2创建登录账户
1.2.2.1使用SQL Server Management Studio添加Windows登录账户     
注意:授权一个Windows用户或组访问SQL Server,必须以这个用户登录到Windows后才能验证这个用户能否联接到SQL Server。授权用户或组访问SQL Server时,此Windows用户和组必须事先存在。
1.2.2.2.使用SQL Server Management Studio添加SQL Server登录账户
1.2.2.3.使用CREATE LOGIN语句创建登录账户。 
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }
11.1  创建一个使Windows用户HBSI\ZangSan得以连接到SQL Server 的登录账户。
CREATE LOGIN [HBSI\ZhangSan] FROM WINDOWS
11.2  创建一个SQL Server 登录,登录名为lisi并指定密码abcd
CREATE LOGIN lisi WITH PASSWORD = 'abcd '
1.2.3 修改登录账户   
(1)使用SQL Server Management Studio修改登录账户的属性
SQL Server Management Studio对象资源管理器中,展开服务器下的安全性节点,展开登录名,右击需要修改的登录名,在快捷菜单中选择属性,弹出登录属性对话框。
在此对话框中进行相应的属性修改,如默认数据库、默认语言、密码等,还可以对账户的状态属性进行修改。
(2)使用ALTER LOGIN语句修改登录账户属性
ALTER LOGIN login_name  {<status_option> | WITH <set_option> [ ,... ]} 
11.3  lisi登录账户名称更改为lisi_new
ALTER LOGIN lisi WITH NAME=lisi_new
11.4  sql server两种身份验证模式lisi_new 登录账户的密码修改为abcdef”。
ALTER LOGIN lisi_new WITH PASSWORD=’abcdef’
1.2.4  删除登录账户
(1)使用SQL Server Management Studio删除登录账户
(2)使用DROP LOGIN 语句删除登录账户
DROP LOGIN login_name
11.5  删除登录账户lisi_new
DROP LOGIN lisi_new
2.数据库用户管理
2.1 默认数据库用户
2.1.1.数据库所有者 (DataBase Owner ,dbo)
dbo 是数据库的所有者,拥有数据库中的所有对象,每个数据库都有dbo, sysadmin服务器角的成员自动映射成dbo, 无法删除 dbo 用户,且此用户始终出现在每个数据库中。通常,登录名sa映射为库中的用户dbo。另外,由固定服务器角 sysadmin 的任何成员创建的任何对象都自动属于dbo
2.1.2Guest用户
Guest 用户帐户允许没有用户帐户的登录名访问数据库。当登录名没有被映射到一个用户名上时,如果在数据库中存在Guest用户,登录名将自动映射成Guest,并获得相应的数据库访问权限。Guest用户可以和其他用户一样设置权限,不能删除Guest用户,但可在除mastertempdb之外的任何数据库中禁用Guest用户。
2.1.3Information_schemasys用户
每个数据库中都包含Information_schemesys用户,它们出现在目录视图中。使用它们获取有关数据库的元数据信息。
2.2创建数据库用户
2.2.1.使用SQL Server Management Studio添加数据库用户
2.2.2.使用CREATE USER语句添加数据库用户
    CREATE USER user_name
    { FOR | FROM } LOGIN login_name
11.7AdventureWorks数据库中创建数据库用户zhangsan,其登录名为zhangsan
  Use AdventureWorks
  Go
  CREATE USER zhangsan FROM LOGIN zhangsan
3. 固定服务器角的特点和管理
3.1角管理
角是为了易于管理而按相似的工作属性对用户进行分组的一种方式。在SQL Server中,组是通过角来实现的。在SQL Server中,角分为服务器角和数据库角两种。服务器角是服务器级别的一个对象,只能包含登录名。数据库角是数据库级别的一个对象,只能包含数据库用户名。
3.1.1 固定服务器角
固定服务器角:SysadminServeradminSetupadminSecurityadminProcessadminDbcreatorDiskadminbulkadmin
3.1.1.1使用SQL Server Management Studio将登录账户添加到固定服务器角
3.1.1.2使用存储过程sp_addsrvrolemember办法用来添加登录账户,使其成为服务器角的成员
        sp_addsrvrolemember 'login','role'
其中:login:添加到固定服务器角中的登录名。 role:要添加登录名的固定服务器角的名称。
3.1.2 固定数据库角
固定数据库角:db_ownerdb_accessadmin db_datareaderdb_datawriterdb_ddladmindb_securityadmindb_backupoperatordb_denydatareaderdb_denydatawriterPublic
1)使用SQL Server Management Studio将用户添加到固定数据库角
2)使用存储过程sp_addrolemember来添加用户,使其成为数据库角的成员
其语法格式为: sp_addrolemember  'role' ,  'security_account'
其中:role:当前数据库中的数据库角的名称。 security_account:是添加到该角的用户。
3.1.3 自定义数据库角
当一组用户需要在 SQL Server 中执行一组指定的活动时,为了方便管理,可以创建用户自定义的数据库角。
1)使用SQL Server Management Studio创建用户自定义数据库角。
2)使用CREATE ROLE语句创建数据库角
  CREATE ROLE role_name [ AUTHORIZATION owner_name ]
其中:role_name:将创建的数据库角名称。
  AUTHORIZATION owner_name :将拥有新角的数据库用户或角。
3)应用程序角
当要求对数据库的某些操作不允许用户用任何工具来进行操作,而只能用特定的应用程序来处理时就可以建立应用程序角。应用程序角不包含成员;默认情况下,应用程序角是非活动的,需要用密码激活。在激活应用程序角以后,当前用户原来的所有权限会自动消失,而获得了该应用程序角的权限。可以通过图形界面创建应用程序角,也可以通过CREATE APPLICATION ROLE 语句来创建。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。