免费论文查重: 大雅 万方 维普 turnitin paperpass

SQL Server数据库安全机制研究-怎样

最后更新时间:2024-04-13 作者:用户投稿原创标记本站原创 点赞:23383 浏览:106124
论文导读:
摘要:随着计算机网络技术的发展,越来越多的关键业务开始运行在数据库平台上。因此,如何保证数据库的安全便成为设计数据库时需要重点考虑的问题。论文以现有的SQL Serve数据库管理系统为研究对象,从SQL基本安全配置、备份和恢复、视图与存储过程的使用三方面提出了一些可行而有效的数据库安全措施。
关键词:数据库安全;角色;SQL Server
1007-9599 (2012) 11-0000-02
一、引言
随着数据库的广泛运用,数据库中数据的安全性至关重要。如果数据被破坏,损失将数以万计。数据如此的重要,如何避免窃取和破坏数据自然就成为我们研究的热点。数据库安全涉及的层次和范围较广,本文只选取数据库管理系统SQL Server本身的安全来进行研究,以求最大程度的保证SQL Server数据库自身的安全。
二、正文

(一)SQL Server基本安全配置

SQL Server是一个数据安全措施相当完善的关系数据库管理系统,它使用服务器-数据库-数据库三层对象来进行安全管理。也就是说从用户的角度看,要访问数据库,首先要能连接上服务器。连接上服务器后并不代表用户能访问数据库了,必须赋予用户访问某个数据库的权限。能访问某个数据库了,并不代表能访问数据库中的数据了,必须赋予用户访问表或列的权限才能访问表或列……具体的管理通过安全身份认证(服务器)和访问许可两个机制实现。

1.安全身份认证

SQL Server有两种身份验证模式可用来连接服务器:Windows验证模式和混合模式。混合认证模式指的是windows认证和SQL Server认证两种都支持。两者相比,Windows身份验证更好一些。因为SQL Server验证的登录在一个多服务器的环境中管理比较困难,而Windows安全模式能够与Windows安全系统集成在一起,从而能够提供更多的功能,例如安全验证和加密、审核、过期等。
另外,无论采用哪一种认证方式,都应使用安全的策略,并对系统管理者(sa)帐号进行最强的保护。SA在默认条件下,它可对服务器进行任何的操作,但一般情况下不能将SA从服务器删除或移走,所以一定要记得给此用户指定。当然,我们也是有办法可巧妙去除sa的,操作方法如下:在菜单栏中的“工具”选项卡中选择”SQL server配置属性”,选择“服务器设置”,对“允许对系统目录直接进行修改”打勾。一定要在master数据库中有db_owner(数据库所有者)的权限。可使用的命令如下:
update sysxlogins
set name='你要改成的名字'
where sid=0x01
update sysxlogins
set sid=0xE765555BD44F054F89CD0076A06EA823
where name='你要改成的名字'
最后,删除修改后的用户名。

2.访问控制

使用登录连接上服务器后,到底能进行哪些操作,主要决定于登录的权限。SQL Server中的访问权限分为服务器本身的操作权限和数据库的访问权限。两种访问权限对应两种角色:服务器角色和数据库角色。
不同的登录用户访问服务器的权限不同,是因为赋予它们的服务器角色不同。服务器角色负责整个服务器的访问权限,将某服务器角色添加至用户,则用户就拥有了服务器角色所对应的权限。对某数据库进行访问时,有时希望不同的数据库用户源于:7彩论文网论文大全www.7ctime.com
访问的权限有所不同,故创建数据库用户时应当赋予不同的数据库角色。
下面举例说明如何进行访问控制。例: 给丽丽分配一个登录用户名,保证不仅可创建和修改数据库,还可修改student数据库中的系别表和课程表。对应的命令如下:
EXEC sp_addlogin 'lili','123'
EXEC sp_addsrvrolemember 'lili','dbcreator'
Use student
EXEC sp_grantdbaccess 'lili'
Exec sp_addrole 'pin'
grant update
on系别表 to pin
grant update
on课程 to pin
Exec sp_addrolemember 'pin', 'lili'

(二)备份与恢复

数据库备份有四大类型:数据库完全备份、差异备份、事务日志备份、文件和文件组备份。管理大型数据库时,为了让数据库恢复所用的时间消耗最少,也为了最大可能的降低数据的损失,我们常综合运用多种备份。常见的备份方案有:

1.有规律进行数据库完全备份,比如每天一次,下班前备份。

2.以较小的时间间隔进行差异备份,比如二至三个小时备份一次。

3.在相临的两次差异备份之间进行事务日志备份,每二十或三十分钟一次。

这样,在进行恢复时,先恢复最近一次的数据库完全备份,接着进行差异备份,最后进行事务日志备份的恢复。恢复数据库可使用三种模型:1.完全恢复模型,2.大容量日志恢复模型,3.简单恢复模型。想知道你所使用数据库的恢复模型,可使用下面的命令:select DatabasePropertyEx('stu', 'Recovery') 。此处的“stu”就是你所使用的数据库名,这个语句可返回stu数据库当前使用的是哪种恢复模型。若当前的恢复模型不合意,可使用命令修改模型:alter database 数据库名 set recovery full\simple\bulk_logged
例如:
restore database student from register1 with摘自:7彩论文网毕业论文结论怎么写www.7ctime.com