当前位置: 代码迷 >> 综合 >> 数据库实验报告六(身份验证 角色 帐户)
  详细解决方案

数据库实验报告六(身份验证 角色 帐户)

热度:78   发布时间:2024-01-18 07:51:09.0

实验内容

安全管理

1、 登录管理
1windows身份验证
2Sql Server 身份验证(混合模式)
3)登录帐户
     建立 sp_addlogin ‘abc’,’123’
          sp_addlogin ‘domain/abc’----
错误?
     修改 sp_password ‘旧密码’,’新密码’,’登录帐户名
    
删除 sp_droplogin ‘登录帐户名

2、 角色管理
1)向固定服务器角色添加成员 sp_addsrvrolemember ‘登录帐户名’,’固定角色名
2)从固定服务器角色删除成员 sp_dropsrvrolemember ‘登录帐户名’,’固定角色名
3)查看角色成员 sp_helpsrvrolemember ‘固定角色名
4)添加数据库角色 sp_addrole ‘角色名
5)添加角色成员(删除成员)sp_addrolemember ‘角色名’,’用户帐户名
      sp_droprolemember


3、 用户帐户管理
添加用户帐户 sp_grantdbaccess ‘登录帐户名’,’用户帐户名
删除         sp_revokedbaccess ‘用户帐户名

4、 权限管理
授权 grant 收回 revoke

实验过程

例一sp_addlogin 'abc','123'--已创建新登录。sp_droplogin 'abc'—登陆已除去 -- sp_password '123','123','abc'—更改密码

例二sp_addsrvrolemember 'abc','sysadmin' --'abc' 已添加到角色 'sysadmin' 中。

例三 sp_grantdbaccess 'abc','abcd' --已向 'abc' 授予数据库访问权。

例四 grant create database,create table to abcd –abcd为用户帐户名

例五 利用abc管理数据库(建表 建库)

新建连接 abc用户登录创建表和数据库

 

试验中的问题的排除与总结:

1sp_addlogin ‘domain/abc’----错误?

2sp_addsrvrolemember为添加登录,使其成为固定服务器角色的成员。

sp_addsrvrolemember 'abc','sysadmin'abc用户添加到sysadmin角色当中

只能添加到某固定服务器当中 不能自定义一个

sp_addsrvrolemember要将登录添加到的固定服务器角色的名称。role 的数据类型为 sysname,默认值为 NULL,它必须是下列值之一:

  • sysadmin
  • securityadmin
  • serveradmin
  • setupadmin
  • processadmin
  • diskadmin
  • dbcreator
  • bulkadmin

35)添加角色成员(删除成员)sp_addrolemember ‘角色名’,’用户帐户名
     
为向一个用户角色(自定义的都是用户角色)中添加一个成员

4、例三 sp_grantdbaccess 'abc','abcd' --已向 'abc' 授予数据库访问权。

Abc为登陆帐户 abcd为用户帐户

用户帐户管理时是对用户帐户名操作
添加用户帐户 sp_grantdbaccess ‘登录帐户名’,’用户帐户名
删除         sp_revokedbaccess ‘用户帐户名



 

 

 

 

sp_addlogin 帮助 说明

创建新的 Microsoft? SQL Server? 登录,使用户得以连接使用 SQL Server 身份验证的 SQL Server 实例。

语法

sp_addlogin [ @loginame = ] 'login'
    [ , [ @passwd = ] 'password' ]
    [ , [ @defdb = ] 'database' ]
    [ , [ @deflanguage = ] 'language' ]
    [ , [ @sid = ] sid ]
    [ , [ @encryptopt = ] 'encryption_option' ].

参数

[@loginame =] 'login'

登录的名称。login 的数据类型为 sysname,没有默认设置。

[@passwd =] 'password'

登录密码。password 的数据类型为 sysname,默认设置为 NULL。sp_addlogin 执行后,password 被加密并存储在系统表中。

[@defdb =] 'database'

登录的默认数据库(登录后登录所连接到的数据库)。database 的数据类型为 sysname,默认设置为 master。

[@deflanguage =] 'language'

用户登录到 SQL Server 时系统指派的默认语言。language 的数据类型为 sysname,默认设置为 NULL。如果没有指定 language,那么 language 被设置为服务器当前的默认语言(由 sp_configure 配置变量 default language 定义)。更改服务器的默认语言不会更改现有登录的默认语言。language 保持与添加登录时所使用的默认语言相同。

[@sid =] sid

安全标识号 (SID)。sid 的数据类型为 varbinary(16),默认设置为 NULL。如果 sid 为 NULL,则系统为新登录生成 SID。尽管使用 varbinary 数据类型,非 NULL 的值也必须正好为 16 个字节长度,且不能事先存在。SID 很有用,例如,如果要编写 SQL Server 登录脚本,或要将 SQL Server 登录从一台服务器移动到另一台,并且希望登录在服务器间具有相同的 SID 时。

[@encryptopt =] 'encryption_option'

指定当密码存储在系统表中时,密码是否要加密。encryption_option 的数据类型为 varchar(20),可以是下列值之一。

描述

NULL

加密密码。这是默认设置。

skip_encryption

密码已加密。SQL Server 应该存储值而且不用重新对其加密。

skip_encryption_old

已提供的密码由 SQL Server 较早版本加密。SQL Server 应该存储值而且不用重新对其加密。此选项只供升级使用。

 

返回代码值

0(成功)或 1(失败)

注释

SQL Server 登录和密码可包含 1 到 128 个字符,包括任何字母、符号和数字。但是,登录不能:

  • 含有反斜线 (/)
  • 是保留的登录名称,例如 sa public,或者已经存在。
  • NULL,或为空字符串 ('')
  相关解决方案