SQL Server数据库在实际运用中的技巧探究

时间:2022-09-09 03:15:39

SQL Server数据库在实际运用中的技巧探究

摘要:任何人在使用SQL Server数据库系统的时候,都希望自己能让SQL数据库发挥出他最佳的性能,但提供它性能的方法就是对其系统进行优化。本文主要通过笔者在日常工作生活中的经历和经验来简单讲述下SQL Server数据库在运用中的一些技巧。

关键词:SQL Server;数据库应用;运用技巧

中图分类号:TP311文献标识码:A文章编号:1007-9599 (2012) 02-0000-02

Skills Explorationof SQL Server Database in the Practical Application

Lin Fang

(Guangxi Vocational College of Technology and Business,Nanning530003,China)

Abstract:Anyone using the SQL Server database system allows the SQL database to give of his best performance,but its performance is to optimize the system.I experience in daily life and experience a few words about the next SQL Server database in the use of skills.

Keywords:SQL Server;Database applications;Use skills

SQL Server作为数据存储,以其低价位、功能多、用户界面友好,以及与Windows系统的全面集成而广泛地应用于各行各业,它在大多数分布式Web应用程序中扮演着重要的角色。本文就SQL Server数据库在实际运用中的技巧作出以下分析和探讨:

一、SQL Server数据库的特点

SQL Server是一个关系数据库管理系统。它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server的Windows NT版本。Sybase则较专注于SQL Server在UNIX操作系统上的应SQL Server安装界面用。

SQL Server数据库的特点如下:

(一)高可用性

SQL Server的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。

(二)管理工具

SQL Server引进了一套集成的管理工具和管理应用编程接口,以提供易用性、可管理性、及对大型SQL Server配置的支持。

(三)安全性增强

SQL Server旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。

(四)可伸缩性

SQL Server可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。

二、SQL Server数据库的安装

安装SQL Server前的工作设置服务器环境时,要遵循以下最佳做法:增强物理安全性、使用防火墙、隔离服务、创建具有最低特权的服务账户。

(一)增强物理安全性

物理和逻辑隔离是构成SQL Server安全的基础。若要增强SQL Server安装的物理安全性,就需要执行以下任务,即:

1.将服务器置于专门的房间,未经授权的人员不得入内。

2.将数据库的宿主计算机置于受物理保护的场所,最好是上锁的机房,房中配备水灾检测和火灾检测监视系统或灭火系统。

3.将数据库安装在公司Intranet的安全区域中,任何时候都不要直接连接到Internet。

4.定期备份所有数据,并将副本存储在远离工作现场的安全位置。

(二)使用防火墙

防火墙是保护SQL Server安装所不可或缺的。若要使防火墙发挥最佳效用,则需要遵循一定的要求,即:

1.在服务器和Internet之间放置防火墙。

2.将网络分成若干安全区域,区域之间用防火墙分隔。先阻塞所有通信流量,然后有选择地只接受所需的通信。

3.在多层环境中,使用多个防火墙创建屏蔽子网。

4.如果在Windows域内部安装服务器,请将内部防火墙配置为允许Windows身份验证。

(三)隔离服务

隔离服务可以降低风险,防止已受到危害的服务被用于危及其他服务。首先,尽可能不要在域控制器中安装SQL Server;其次,在不同的Windows账户下运行各自的SQL Server服务,而对于多层环境中,需要在不同的计算机上运行Web逻辑和业务逻辑。

(四)创建具有最低特权的服务账户

SQL Server安装程序可以自动配置服务账户或具有SQL Server所需特定权限的账户。修改或配置SQL Server 2005使用的Windows服务时,应仅授予它们需要的权限。

三、安全机制

(一)为了实现数据库的安全性,每个用户在访问SQL Server之前,都必须经过两个阶段的检验:身份验证阶段和权限验证阶段。

1.身份验证。就内置选项来说,在SQL Server中进行安全设置有两个选择:

Windows集成安全性:用户将登录到Windows上,而不是SQL Server上。该身份验证能够把来自信任Windows域的登录映射到SQL Server中。它只是一个模型,在这个模型中可以直接向现有的Windows域用户帐户或组提供SQL Server权限,而不需要强制用户使用独立的密码以及进行单独的登录。

标准安全性:与登录到Windows不同,用户需要专门登录到SQL Server上,身份验证是通过SQL Server完成的。使用SQL Server安全性时,用户需要创建一个登录ID,而这个登录ID是与用户的网络登录信息完全分离的。使用SQL Server安全性可以使用户不必为了获取访问系统的权限而成为域用户,而且使用程序来控制用户信息也更加容易。使用SQL Server安全性进行登录的一个例子是使用sa帐户。实际上,从长远角度看,用户不需要天天使用sa来登录以完成任务。使用sa帐户意味着用户拥有完全的权限,也就是意味着可能会因为意外而发生许多可怕的事情,如删除表。即使总是需要完全访问权,也可以使用sa帐户把常规的用户帐户加入到sysadmins服务器角色中,这样既提供了sa帐户的权限,又获得了单独密码所带来的安全性以及对谁登录到系统进行审计跟踪。

2.权限验证。当用户通过身份验证成功登录到SQL Server 2008服务器以后,用户必须有和自己登录帐户对应的数据库用户账户才可以对某个数据库进行访问,并进行各类已授权的操作。用户的权限可以分为三个类别:登录的权限;访问某个特定数据库的权限;在数据库中某个特定对象上执行特定动作的权限。

(二)角色管理

角色与Windows中的组是同一个事物,即它可以将用户集中到一个单元中,然后对该单元应用权限,可以建立一个角色来代表一类工作人员所执行的工作,然后给这个角色授予适当的权限。一个用户至少属于一个角色,也可能同时属于几个角色。角色可以分为两类:服务器角色和数据库角色。

1.服务器角色。服务器角色是根据SQL Server的管理任务以及这些任务的重要性等级把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理权限都是内置的,并且从一开始就存在了,即不能修改、删除和添加,只能向其中加入登录用户或其他角色。服务器角色适用于整个服务器范围内。一般来讲,只有那些最大型的数据库才会用到除sysadmin和securityadmin之外的角色,但有其他角色仍然是相当方便的。

2.数据库角色。数据库角色的范围仅限于单个数据库。这是因为一个用户属于一个数据库的db_datawriter角色并不意味着他就属于另一个数据库的db_datawriter角色。SQL Server提供两种数据库角色:固定的数据库角色和用户自定义的数据库角色。

在一个数据库下,系统默认创建10个固定数据库角色。与固定的服务器角色类似,即使是最大型的数据库也不会用到所有这些角色。其中一些角色无法用自己的数据库角色替换,其他一些角色只是为了方便处理常见的一些情形。

真正影响数据库安全性的是创建并指派用户自定义的数据库角色。在这些角色中,用户可以决定角色需要包含哪些权限。在SQL Server 2008中,可以使用create role命令或调用sp_addrole存储过程来创建用户自定义的角色;使用sp_addrolemember存储过程向角色中添加用户;使用sp_droprolemember从角色中删除用户。

(三)加密

为不同级别的服务器体系结构定义加密密钥的主要机制是证书和非对称密钥。它们是完成基本任务的两种不同的方法,在很多情况下它们可以互换。为了满足使用不同加密密钥分离不同的控制权限的需求,SQL Server支持多个级别的密钥。在每个服务器中,SQL Server会维护一个服务主密钥,它是用Windows级别的服务主密钥加密。每个数据库中也包含一个数据库主密钥,根据用户的选择,可以使用服务主密钥加密数据库主密钥。在每个数据库中,用户都可以定义证书或非对称密钥。

SQL Server支持透明数据加密(Transparent Data Encryption),它对整个数据库提供了保护,这样,即使有人窃取mdf文件或备份文件也不会发生问题。透明数据加密是数据库级别的加密,它不局限于字段和记录,而是保护数据文件和日志文件。一旦在一个数据库上激活了TDE,备份恢复到另一个SQL Server实例或附加数据文件到另一个SQL Server实例上去是不允许的,除非用来保护数据库加密密钥的证书是可用的。

从上述论述中可以看出保护数据库安全主要从设置数据库服务器的登录帐户、设置对数据库的权限、加密数据库对象及数据库3个方面入手。然而事实上,仅仅这些还不够。还要及时安装修补程序和更新程序、不使用的SQL Server服务关闭掉、注意文件和目录的安全、注意端口的安全,也可以通过审核与日志判断是否有攻击行为。虽然没有绝对安全的应用程序,但是我们仍然要努力把讨厌的入侵者阻挡在系统之外。

四、SQL Server数据库数据的恢复

Microsoft公司的SQL Server是一个功能完善的数据库管理系统,由于和Windows操作系统无缝结合,操作简便易行,应用十分广泛下面是关于Sql Server数据库在不同灾难情祝下恢复数据的不同方法。

案例:事务日志是自上次备份事务日志后对数据库执行的所有事务的一系列记录,可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点,如果丢失了事务日志文件或事务日志文件损坏了,将是一个灾难性的问题,这时候在SQL Server数据库重新打开时,肯定处于置疑状态,面对只有一个mdf文件,这时候通过附加等方式是不能成功修复的但可以尝试如下方法:

首先新建一个同名的数据库,然后再停掉SQL Server服务,用原数据库的数抓文件覆盖掉这个新建的数据库文件,重启SQL Server服务打开企业管理器,该数据库显不“置疑”,在查询分析器中执行下面的语句:

执行后数据库本身仍然有问题,依旧显示“质疑”此时新建一个新的数据库,运行DTS导出向导,把有问题的数据库中的数据导入到新的数据库中,打开新的数据库,数据全部找回。

五、结束语

在运用SQL Server数据库系统时,合理有效地利用上述方法固然能提高性能,但系统性能优化是一个复杂的过程,影响数据库系统性能的因素是很多的,而应用又各不相同,找出一个通用的优化方案是不现实的,在系统运用过程中应根据实际情况选择合理的技巧和策略,才能充分利用数据库系统提供的高性能服务,充分发挥其高效的功能。

参考文献:

[1]胡百敬.Microsoft SQL Server性能调校[M].北京:电子工业出版社,2005

[2]王俊伟,史创明.SQL Server 2000中文版数据库管理与应用标准教程[M].北京:清华大学出版社,2006

[作者简介]林芳(1965-),女,广西桂平市人,研究生,副教授,主要研究方向:计算机软件与理论。

上一篇:虚拟化技术在中职机房管理中的应用 下一篇:浅论基于局域网的计算机机房管理维护