SQL数据库应用技巧分析

时间:2022-09-12 02:14:58

SQL数据库应用技巧分析

摘要:SQL Server在应用的过程中,其性能和安全性会受到多种因素的影响,想要对其性能和安全性进行最大优化,需要进行多方面的开发研究。SQL Server数据库能够满足各个行业的事物处理,是一个具有高性能、大容量等特点的数据库管理系统。因此,本文对SQL Server数据库的应用技巧进行了讨论,希望能够为相关工作提供一定的借鉴。

关键词:SQL Server 应用技巧 查询优化 安全

中图分类号:TP311.132 文献标识码:A 文章编号:1007-9416(2015)12-0000-00

1 SQL Server数据库应用性能优化

在SQL Server数据库应用过程中,查询命令的执行是影响数据库性能的重要因素,下面对SQL Server数据库查询优化的技巧进行了简单的分析。

在对SQL Server数据库进行查询的过程中,主要应该注意一下几个方面:

(1)尽量减少or语句的使用,如果在查询过程中胡乱使用or语句,可能导致扫描到的结果非常多,大大影响查询的效率,如果在查询过程中,需要使用联合索引,可以利用UNION all语句来实现,可以大幅度提高系统的查询效率[1];(2)通过将索引、数据以及日志应用到不同的输入及输出设备上,可以使读取速度大幅提高,同时,读取的数据量越大,则对输入及输出接口的性能要求越高;(3)为了在查询OLAP数据库时达到较快的效果,你必须使用MOLAP存储,但是,如果你使用了MOLAP,因为它是周期性的处理数据的,所以数据会有一些延迟,为了获得最新的数据,你也必须使用ROLAP存储,但是ROLAP的存储性能要比MOLAP在查询响应方面明显的慢,那就是主动缓存配置选项很有用的地方了,因为它允许分析服务可以从MOLAP和ROLAP两边检索,因此为使用了ROLAP的最新数据的MOLAP提供了效能,可以在MSDN资源中发现更过的关于主动缓存的信息。

2 SQL Server数据库应用安全优化

在SQL Server数据库中,包含表格、视图、储存过程、关键字、自定义数据类型等多种对象。SQL Server数据库的对象并非一个主体,同时也可能是数据库中的某个小构件。SQL Server数据库的设计以安全为出发点,版本的升级需要相应的权限,以角色安全为重点进行考虑,对不同对象设置不同的系统访问权限,在SQL Server内部对用户进行组织,从而降低Windows内部组织用户的需求。可以根据实际角色,聚集用户,实行单元应用权限。不同的分组拥有不同的访问权限,能够将相似的功能和权限作为同等角色,一个用户能够通过扮演不同的角色,获取更多系统访问权限。为了确保数据库的安全性,需要加强以下两个方面的优化[2]:

2.1身份权限验证

(1)身份验证。从SQL Server数据库的内置选项来看,其提供了Windows集成安全性和标准安全性两个选项。其中,Windosw集成安全性是用户将登陆到Windows中,而不是SQL Server数据库中。该身份验证可以将来自信任Windows域的登陆映射到数据库中,而无需用户通过独立密码单独登陆到数据库。标准安全性则是用户通过专门的密码登陆到数据库中,身份验证由数据库完成。使用该机制进行登录时,用户需要创建一个独立的登陆ID。使用标准安全性机制时,用户利用程序对用户信息控制更加容易。以sa账户为例,从长远来看,用户不需要天天使用sa账户登陆数据库,虽然通过该方式能够拥有整个数据库的控制权限,但是这样也意味着存在更大的潜在危险,因此,用户即使需要完全的数据库访问权限,也可以使用sa账户将常规用户账户加入sysadmins服务器角色中,这样既能获取相应的权限,又能保证系统的安全性。(2)权限验证。如果用户用过身份成功登陆数据库服务器后,用户必须有和自己登陆账户对应的数据库用户账户才能够对具体的数据库进行访问以及对各类已经授权的数据进行操作。用户的权限包括登陆权限、对特定数据库的访问权限以及特定对象执行特定动作的权限。

2.2角色管理

角色与Windows中的组属于同一事物,可以将用户集中到一个单元,然后通过对该单元应用权限来建立一个角色,从而代表一类工作人员所执行的工作,然后对这个角色授予对应的权限。一个用户可以同时属于一个或者多个角色。角色被分为服务器角色和数据库角色两类。

(1)服务器角色。服务器角色根据SQL Server的管理任务以及任务的重要性对用户划分为多个用户组,每个用户组的管理权限在组建立时即存在,无法进行修改、删除和添加,只能向其中加入登陆用户和角色。服务器角色能够适用整个服务器。通常情况下,只有一些特别大型数据库中才会应用sysadmin以及securityadmin外的角色,但是其它角色的使用仍然较为方便。(2)数据库角色。数据库角色的范围仅限于当前数据库中,这是因为一个用户属于一个数据库的db_datawriter角色时,并不意味它也会属于另外一个数据库的db_datawriter角色。在SQL Server数据库中,数据库角色分为固定数据库角色和自定义数据库角色两类,其中,真正对数据库安全性产生影响的是用户自定义的角色。用户自定义角色在建立过程中,可以由用户决定具体的权限,因此,可能因为用户不了解具体的权限而导致权限过大而影响数据库安全性。在应用过程中,用户可以分别通过sp_addrole、sp_addrolemember以及sp_droprolemember存储过程实现自定义角色的创建、向角色中添加用户以及从角色中删除用户。

3 结语

SQL Server数据库能够满足各个行业的事物处理,是一个具有高性能、大容量等特点的数据库管理系统。本文由于篇幅的限制仅仅对查询优化以及安全性方面的技巧进行了简单的讨论,而对于SQL Server数据库的应用过程来说,需要进行提高的方面还较多,包括数据库文件的备份、修复、加密以及索引优化等等。

参考文献

[1]陈一明.SQL Server数据库应用技巧探讨[J].科学技术与工程,2008,8(12):3334-3337.

[2]潘谈.试论SQL Server数据库应用技巧[J].山东工业技术,2014(23):131.

上一篇:浅谈广播电视机房播控系统的安全操作 下一篇:基于整合现有资源进行数字化校园建设的思考