安全性问题一直是DBA比较关心的问题,因为建立数据库的目的就是让相关的的客户端来进行访问,所以很难避免不出现安全隐患,例如客户端链接的权限、数据传输过程中的安全等问题,所以大家在考虑SQL Server服务器安全的同时,必须留意以下几个方面:
第一方面:
客户端安全:首先需要保证客户端必须是安全的,例如需要为你的客户端安装防病毒软件,防火墙,安装升级补丁等。
第二方面:
数据传输过程中的安全:数据在一般的传输过程中,很容易被监听或被捕获,所以大家应该使用加密机制来保证数据的机密性。
第三方面:
需要在数据库服务器上实现安全机制以此来保证安全性。SQL Server数据库是一个非常安全的数据库,由于客户端如果想对数据库里的数据进行操作(select、insert等),就必须经历三道检查,也就是我们要经过的三道门(登录验证、数据库验证、对象权限)。
例:假如我们把SQL Server服务器看成一座大厦,我们首先要现有权利进入大厦,即通过大厦的大门(登录验证),然后还得拥有对某个房间的访问权限(对数据库的权限),进入房间后还得拥有打开保险柜的权利(对表的操作权限)。也就是首先我们必须先建立登录帐户,而登录帐户分为两种:windows帐户和SQL帐户(因为SQL Server有两种身份验证,即windows身份验证和混合身份验证)。具体操作方法:打开“SSMS—SQL Server实例—安全性—登录名”,右键选择“新建登录名”,选择身份验证模式(身份验证模式不同,帐户类型也不一样,注意:建立windows登录帐户,必须先在windows操作系统上先建立该账户),输入名字,并为该用户选择一个默认数据库(比如默认为master数据库)。该账户建立好之后,我们通过“新建”—“数据库引擎查询”的方式来测试用户,我们会发现该用户只能连接数据库,并不能对数据库进行任何其他操作。所以下面是第二道门,建立数据库用户,以便用户可以访问数据库,对数据库进行操作。我们在建立数据库用户时,其实就是映射登录用户,所以在一般情况下,我们的登录名和数据库用户名是一致的。操作方法:第一种:打开“SSMS—SQL Server实例—具体的数据库—安全性—数据库用户”;第二种:直接在以前建立过的登录用户上映射数据库就可以了。最后一道门是在具体的数据库对象(比如表)上授予具体的权限,三种权限如下:授予、回收和拒绝。