SQL server功能的强大性,安全问题首当前冲,众所周知,安全性问题一直是DBA比较关心的问题,因为建立数据库的目的就是让相关的的客户端来进行访问,所以很难避免不出现安全隐患,例如客户端链接的权限、数据传输过程中的安全等问题,所以大家在考虑SQL Server服务器安全的问题。
客户端
客户端安全:首先需要保证客户端必须是安全的,例如需要为你的客户端安装防病毒软件,防火墙,安装升级补丁等。
数据传输
数据传输过程中的安全:数据在一般的传输过程中,很容易被监听或被捕获,所以大家应该使用加密机制来保证数据的机密性。
安全机制
需要在数据库服务器上实现安全机制以此来保证安全性。SQL Server数据库是一个非常安全的数据库,由于客户端如果想对数据库里的数据进行操作(select、insert等),就必须经历三道检查,也就是我们要经过的三道门(登录验证、数据库验证、对象权限)。
备份密码
SQL Server中的一个选项就是创建用密码创建备份。这是你在创建备份的时候可以使用的另一个选择,但是在企业版管理器或者SQL Server管理套件中,并没有提供这个选项。这里是一个使用密码选项备份的例子:
backup database northwind to disk=’c:\northwind.bak' with mediapassword = 'Backup2006'
这个过程需要密码来重新存储文件,但是使用文本编辑器,这些数据仍然是可以访问的。还有,重新存储不能使用GUI来完成,所以它必须通过T-SQL重新存储命令和密码一起完成任务。
假如我们把SQL Server服务器看成一座大厦,我们首先要现有权利进入大厦,即通过大厦的大门(登录验证),然后还得拥有对某个房间的访问权限(对数据库的权限),进入房间后还得拥有打开保险柜的权利(对表的操作权限)。也就是首先我们必须先建立登录帐户,而登录帐户分为两种:windows帐户和SQL帐户(因为SQL Server有两种身份验证,即windows身份验证和混合身份验证)。
具体操作方法:打开“SSMS—SQL Server实例—安全性—登录名”,右键选择“新建登录名”,选择身份验证模式(身份验证模式不同,帐户类型也不一样,注意:建立windows登录帐户,必须先在windows操作系统上先建立该账户),输入名字,并为该用户选择一个默认数据库(比如默认为master数据库)。该账户建立好之后,我们通过“新建”—“数据库引擎查询”的方式来测试用户,我们会发现该用户只能连接数据库,并不能对数据库进行任何其他操作。所以下面是第二道门,建立数据库用户,以便用户可以访问数据库,对数据库进行操作。我们在建立数据库用户时,其实就是映射登录用户,所以在一般情况下,我们的登录名和数据库用户名是一致的。
操作方法:第一种:打开“SSMS—SQL Server实例—具体的数据库—安全性—数据库用户”;第二种:直接在以前建立过的登录用户上映射数据库就可以了。最后一道门是在具体的数据库对象(比如表)上授予具体的权限,三种权限如下:授予、回收和拒绝。
SQL server的安全性问题不可马虎忽略,为了确保SQL server中数据信息的安全,一定要做好安全工作方面的工作,比如安全审计等等。