许多Windows系统管理员,还兼职着微软SQL Server数据库管理员(DBA)的身份。另一方面,企业将许多机密的信息存储到了SQL Server数据库中。作为一名DBA新手,则需要了解SQL Server的安全模式和如何配置其安全设置,以保证“合法”用户的访问并阻止“非法”访问。而在SQL Server中登陆、用户、角色、权限提供了对数据库访问的权限,接下来在数据库安全性上着重分析它们的关系。
● 安全层次和验证模式
一、安全层次
SQL Server支持三级安全层次。在我们登陆到SQL Server时,其实我们是经过了三步的验证。
第一层次是用户提供正确的账号和密码登录到SQL Server,或者已经成功登陆了一个可以映射到SQL Server的windows账号。但是在SQL Server登陆并不意味着能够访问数据库,而是要经过第二层次的验证。
第二层次的权限允许用户与一个或多个数据库相连,这一层次的实现要在数据库对象的用户中绑定登陆账户。
第三个层次的安全权限允许用户拥有对指定数据库中的对象的访问权限,例如:可以指定用户有权使用哪些表和视图、运行哪些存储过程。在第一层次中的windows账号,其实是在我们装机时给windows指定的自己登陆到windows系统的账号,而作为windows系统管理员的我们其实也兼职了SQL Server的管理权,那我们如何设置才能保证只有我们指定的用户才能访问SQL数据库呢?就是我们下面要说的验证模式。
二、SQL登陆验证模式
SQL的登陆验证模式有两种,一种是Windows的验证模式,另一种是Windows和SQL Server混合验证模式。如果我们选择windows模式登陆并把windows账号映射到SQL Server的登陆上,那么合法的windows用户也就连接到了SQL Server中。
Windows模式的登陆需要在SQL Server中设置。方法:
打开SQL Server企业管理器,找到安全性文件夹,打开后再登陆中新建一个windows身份验证模式的账户。需要注意的是在新建账户时,账户的名称一定要填我们windows账户的名字,如:我的计算机在用户中名称为张信秀,则在填名称时一定要填张信秀。