安全管理是项目数据库管理工作的重要环节之一,我们建立的数据库要实现上网、共享信息,那么必然会涉及到用户对数据库进行数据访问,因此有必要根据用户类型的不同来授予他们不同的访问权限。下面,我针对数据库的安全性浅谈一下管理方法。
一、验证登陆账户
对于每一类具有对数据库同样操作权限的用户,可以为他们在项目数据库上建立同样的一个身份证——数据库登陆账户,与登陆账户对应的有一个密码,只有登陆账户和密码都吻合才能登陆数据库服务器,然后按照赋予的权限访问相应的数据库内容。SQL Serve为我们提供了两种验证模式:
1. windows身份验证模式
这种验证模式下,使用Windows 操作系统的安全管理机制验证用户身份,因此只要登陆的账户是有效的Windows账户就可以访问数据库。
2. 混合模式(Windows身份验证和SQL Server身份验证)
这种验证模式就是在Windows 操作系统和SQL Server 服务器里建立的登陆账户都可以使用,适合多种操作系统。
二、 更改验证模式
方法:在服务器“MYNETSERVER(网络)”或者“LOCAL(单机)”的属性中更改验证模式以及账户、密码。
三、 建立登陆账户
对应两种登陆验证模式,要按照不同的步骤建立登陆账户。这里我只介绍一下如何在SQL Server 里建立登陆账户。
选择数据库服务器“MYNETSERVER”→“安全性”→“登录”→“新建登录”→“常规”,在这里我们可以输入账户和密码来建立,
四、 给登录账户授权
在建立好的登录账户上→“登录属性”→“服务器角色”→“Databases Creators(创建和更改)”,这样我们就赋予了这个账户创建和更改数据库的权限。那么,如何修改public角色的权限呢:“数据库访问”→“账户”→“数据库角色中允许” →“属性”→“权限”,在这里我们可以赋予public角色的SELECT、INSERT、UPDATE、DELETE等权限。
五、 创建数据库角色
我们所建立的数据库一定有好多账户可以访问,他们的权限也肯定各不相同,如果没有角色的概念,我们就要对每一个登录账户授权,当登录账户权限变化时,需要一个一个去更改,这样给管理工作带来了诸多不便。在大型数据库中,角色在安全控制中起着十分重要的作用。
数据库角色按照功能分成标准角色和应用程序角色。标准角色限制用户对数据的访问,应用程序角色限制用户对应用程序的执行。数据库角色是直接从属于具体的数据库的,一个数据库中的数据库角色仅适用于该数据库和其中的对象,因此在自定义数据库角色之前,应该明白定义的角色具有的对数据库对象的访问功能,然后才可以创建过程。下面我就介绍一下方法:服务器“MYNETSERVER” →“数据库”→“角色”→“新建数据库角色”→“常规”→“输入名称”→“添加”→“添加角色成员”→“属性”→“权限” ,在这里我们可以修改对数据库数据对象的访问权限。
需要说明的是,由于计算机系统在运行过程中,都有可能发生硬件故障、系统软件和应用软件的错误、环境因素等多种原因造成故障。常见的数据库系统故障可分以下几种:
1. 系统故障
这种故障主要是由于服务器系统在运行的过程中,突然发生操作系统错误、停电等原因造成的非正常终端,这种情况下数据一般并未受影响,但有些对数据库进行操作的事物尚未完成。
2. 介质故障
这种故障主要是由于硬件的可靠性差而使存储介质发生物理损坏,将破坏数据库的数据
3. 事务故障
这种故障主要是由于某些事务违反了系统给定的条件而未完成,数据一般并未受影响。
对于这些故障,我们很难预料以及找到比较合适的方法解决,所以,我们在建立好数据库后应该对数据库进行备份。
以上是本人对数据库管理的一点认识。
(烟台分公司 焦字军)