SQLServer的验证分为两个阶段:
1)登录到SQL Server且被确认为合法(验证)
2)用户必须有访问的数据库权限(授予权限)
一、SQLServer有两种验证模式:
a.Windows验证模式
b.混合验证模式(SQLServer验证+Windows验证)
1)SQLServer验证:
1.sp_addlogin:新建SQLServer标准登录帐户
2.sp_droplogin:删除SQLServer标准登录帐户
3.sp_revokelogin:撤销SQLServer标准登录帐户
2)Windows验证:
1.sp_grantlogin:使以存在的Windows用户或工作组成为(映射为)SQLServer的登录帐户
2.sp_denylogin:不允许Windows的用户或工作组连接到SQLServer
3.sp_revokelogin:撤销Windows的用户或工作组与SQLServer帐户的映射
注:特殊帐户SA
二、添加数据库用户:
1.sp_grantdbaccess:为 SQL Server登录或Windows用户或组在当前数据库中添加一个安全帐户
2.sp_revokedbaccess:从当前数据库中删除安全帐户
注:特殊数据库用户:
1.dbo:如果用户(例如A)是一个sysadmin固定服务器角色成员,则用户在数据库里创建的对象(例如表)的拥有者就是dbo;如果用户不是,则对象的拥有者就是A
2.guest:如果为数据库添加guest用户,则意味着所有登录到SQLServer服务器的用户都可以访问这个数据库,即使它还没有成为本数据库的用户。如果数据库设有guest数据库用户,则任何连上SQLServer但不是本地数据库成员,也不是sysadmin固定服务器角色成员创建的数据库对象属于用户guest
三、角色:SQLServer用来方便管理权限的对象
1)固定服务器角色
1.sp_addsrvrolemember:将某固定服务器角色分配给指定的帐户
2.sp_dropsrvrolemember:收回给固定服务器角色的帐户
2)固定数据库角色
1.sp_addrolemember:将某固定数据库角色分配给指定的帐户
2.sp_droprolemember:收回给固定数据库角色的帐户
3)用户自定义数据库角色
1.sp_addrole:创建角色
2.sp_droprole:删除角色
四、许可:
1.grant:授予许可
2.revoke:撤销许可
3.deny:拒绝访问
注:可授予许可的对象:
1.SQLServer帐户
2.SQLServer角色
3.Windows用户或组