当前位置:文档之家› SQLServer数据库中如何保护数据的安全性

SQLServer数据库中如何保护数据的安全性

SQLServer数据库中如何保护数据的安全性
SQLServer数据库中如何保护数据的安全性

数据库安全性习题解答和解析

第九章数据库安全性习题解答和解析 1. 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主

大数据库优化(SQLServer)

SQL SERVER性能优化综述 近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在 网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或 者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以 前的经验和测试结果进行总结了。 我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项。 一、分析阶段 一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求往往吸引了我们大部分的注意力,但是,我们必须注意,性能是很重要的非功能 性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好能 有各种需求的量化的指标。 另一方面,在分析阶段应该根据各种需求区分出系统的类型,大的方面,区分是OLTP(联机事务处理系统)和OLAP(联机分析处理系统)。 二、设计阶段 设计阶段可以说是以后系统性能的关键阶段,在这个阶段,有一个关系到以后几乎所有性能 调优的过程—数据库设计。 在数据库设计完成后,可以进行初步的索引设计,好的索引设计可以指导编码阶段写出高效 率的代码,为整个系统的性能打下良好的基础。 以下是性能要求设计阶段需要注意的: 1、数据库逻辑设计的规范化 数据库逻辑设计的规范化就是我们一般所说的范式,我们可以这样来简单理解范式: 第1规范:没有重复的组或多值的列,这是数据库设计的最低要求。 第2规范: 每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字的某些组 成部分。消除部分依赖,大部分情况下,数据库设计都应该达到第二范式。 第3规范: 一个非关键字段不能依赖于另一个非关键字段。消除传递依赖,达到第三范式应该是系统中大部分表的要求,除非一些特殊作用的表。 更高的范式要求这里就不再作介绍了,个人认为,如果全部达到第二范式,大部分达到第三

浅谈优化SQLServer数据库服务器内存配置的策略

浅谈优化SQLServer数据库服务器内存配置的策略 浅谈优化SQLServer数据库服务器内存配置的策略 作者:季广胜 言 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行全面业务活动分析提供了强有力的保障。但在这套程序的推广、维护中笔者发现系统有时运行速度较慢,特别是在Win95客户端操作时尤为严重,经过排除网线连接等硬件可能带来的影响后上述问题仍然存在。笔者经过仔细摸索,发现系统对硬、软件的要求较高,为充分发挥设计效能,达到最佳运作效果,需要对计算机硬、软件系统进行较为完备的性能测试与最佳配置,特别是内存配置的好坏对系统的运行速度具有决定性的作用。下面,笔者就如何优化SQLServer数据库服务器的内存配置提出一些认识和看法。 一、有关内存的基本概念 1 物理内存与虚拟内存 WindowsNT使用两类内存:物理内存与虚拟内存。

物理内存:作为RAM芯片安装在计算机内部的存储器。 虚拟内存:用于模拟RAM芯片功能的磁盘(硬盘)空间,其实质是通过将内存中当前没有使用的部分内容临时存储到磁盘上,使系统可以使用到比机器物理内存更多的内存。 2 分页和分页文件 WindowsNT系统通过使用磁盘空间使得对内存的需求得到部分缓解,从而使用到比物理内存更多内存的技术就称为“交换”或分页,也就是通常所说的虚拟内存技术。通常Windows NT 4.0系统安装时将在引导驱动器上设置一个大小为16MB的交换(分页)文件(pagefile.sys)。 二、优化Windows NT 4.0系统内存配置 在大多数情况下,为了充分发挥Windows NT 4.0系统效能,内存的作用比起处理器的处理能力更具有影响力,特别是在客户/服务器模式环境下更是如此,因为通常在这种环境下并不十分强调处理器的能力,相反却十分注重是否采用足够的内存来满足各个客户的应用需要。此外,为了获得容错功能和保护应用程序,保证应用程序高速运行、充分发挥设计功能都需要有足够多的内存,特别是工业绘图设计和各种工程应用程序更需要占用大量的内存来进行复杂的计算。 物理内存(RAM)方便快速的优点显而易见,但由于其价格昂贵,也就不可能做到多多益善了,因此通过合理优化内存配置、扩充虚拟

数据库安全性练习题和答案

数据库安全性习题 一、选择题 1. 以下()不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2. SQL中的视图提高了数据库系统的()。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 三、简答题 1. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库安全性和计算机系统的安全性有什么关系?2.

答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 3.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用(户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 从而使得对存储和传输的数据进行加密处理,数据加密:5)

连接SQLServer2008数据库的方法

连接SQLServer2008数据库的方法 一、设置SQLServer2008: SQL server 2008 1433端口开启解决方案 查看电脑开放端口命令为:netstat -an SQL Server 2008一般默认的端口为 1433 ,但有时会遇到无法连接端口1433的问题,检查端口1433是否启用的方法为: 开始–>输入cmd –>回车–>telnet localhost 1433->回车出现黑屏,表示本机连接端口1433成功。 否则按照以下顺序进行配置: (1)关闭数据库引擎 打开配置管理器,找到 SQL Server(SQEXPRESS),右键单击,选择停止,即可停止数据库引擎

(2) .配置服务器端和客户端的TCP/IP协议: 在SQL Server网络配置中选择SQLEXPRESS的协议,选择TCP/IP ,右键单击,选择属性 选择IP 地址选项卡 把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是" 把“IP地址”下“IPALL”的端口改为“1433”。

(3)SQL Native Client 10.0 配置->客户端协议->TCP/IP (4).开启数据库引擎

这样就开启了1433的端口了 先停止SQLServer2008服务。 1.启用1433端口 S1:执行“配置工具”下的“SQL Server配置管理器”。打开如下窗口: S2:右击“SQL Server网络配置”右边的“TCP/IP”,从快捷菜单中选择“属性”,打开下图所示窗口

2.设置登录方式(使用SQL Server登录方式,而不是Windows方式) 打开“SQL Server Management Studio”,打开如下图所示快捷菜单,选择“属性”

数据库的安全性保护

数据库的安全性保护 张海飞西北民族大学甘肃省兰州市 730124 摘要:随着计算机特别是计算机网络的发展,数据的共享日益增强,数据的安全保密越来越重要。网络数据库安全性问题一直是围绕着数据库管理的重要问题,数据库数据的丢失以及数据库被非法用户的侵入使得网络数据库安全性的研究尤为重要。数据库管理系统是管理数据的核心,因而其自身必须有一整套完整而有效的安全性机制。实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术、视图技术和审计技术。 关键字:数据库安全性安全保护网络安全 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。安全性问题不是数据库系统所独有的,所以的计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要技术指标之一。数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性,是紧密联系、相互支持的。 在一般的计算机系统中,安全措施是一级一级层层设置的。在下图所示的安全模型中,用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准进入计算机系统。对已进入系统的用户,DBMS 还要进行存取控制,只允许用户执行合法操作。 数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库权限,同时令所有未被授权的人员无法接近数据。这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括:一、定义用户权限,并将用户权限登记到数据字典中;二、合法权限检查。 我们还可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制间接地实现支持存取谓词的用户权限定义。 “审为了使DBMS达到一定的安全级别,还需要在其他方面提供相应的支持,计”功能就是DBMS达到C2以上安全级别比不可少的一项指标。审计常常是很费时间和空间的,所以DBMS往往都将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。 既然造成数据库不安全的一个主要原因是因为原始数据以可读(明文)形式存放在数据库中。一旦某一用户非法获取用户名和口令,或者绕过操作系统缄DBMs)的控制入侵到系统中,可以访问和修改数据库中的信息。 另外,数据存储介质(如磁盘、光盘、磁带等)丢失也会导致数据库中的数据泄漏。如果我们对数据库中的数据(明文)进行加密处理,那么上述问题就可以得到解决。即使某一用户非法入侵到系统中或者盗取了数据存储介质,没有相应的

SQLServer语句优化

SQLServer语句优化 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 下面的表总结了何时使用聚集索引或非聚集索引(很重要): 动作描述使用聚集索引使用非聚集索引 列经常被分组排序应应 返回某范围内的数据应不应 一个或极少不同值不应不应 小数目的不同值应不应 大数目的不同值不应应 频繁更新的列不应应 外键列应应 主键列应应 频繁修改索引列不应应 事实上,我们可以通过前面聚集索引和非聚集索引的定义的例子来理解上表。如:返回某范围内的数据一项。比如您的某个表有一个时间列,恰好您把聚合索引建立在了该列,这时您查询2004年1月1日至2004年10月1日之间的全部数据时,这个速度就将是很快的,因为您的这本字典正文是按日期进行排序的,聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可;而不像非聚集索引,必须先查到目录中查到每一项数据对应的页码,然后再根据页码查到具体内容。 结合实际,谈索引使用的误区 理论的目的是应用。虽然我们刚才列出了何时应使用聚集索引或非聚集索引,但在实践中以上规则却很容易被忽视或不能根据实际情况进行综合分析。下面我们将根据在实践中遇到的实际问题来谈一下索引使用的误区,以便于大家掌握索引建立的方法。 1、主键就是聚集索引 这种想法笔者认为是极端错误的,是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的。 通常,我们会在每个表中都建立一个ID列,以区分每条数据,并且这个ID列是自动增大的,步长一般为1。我们的这个办公自动化的实例中的列Gid就是如此。此时,如果我们将这个列设为主键,SQL SERVER会将此列默认为聚集索引。这样做有好处,就是可以让您的数据在数据库中按照ID进行物理排序,但笔者认为这样做意义不大。 显而易见,聚集索引的优势是很明显的,而每个表中只能有一个聚集索引的规则,这使得聚集索引变得更加珍贵。 从我们前面谈到的聚集索引的定义我们可以看出,使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。在实际应用中,因为ID号是自动生成的,我们并不知道每条记录的ID号,所以我们很难在实践中用ID号来进行查询。这就使让ID号这个主键作为聚集索引成为一种资源浪费。其次,让每个ID号都不同的字段作为聚集索引也不符合“大数目的不同值情况下不应建立聚合索引”规则;当然,这种情况只是针对用户经常修改记录内容,特别是索引项的时候会

SQLServer数据库安全配置规范

SQLServer数据库安全配置规范

1.概述 1.1. 目的 本规范明确了SQL Server数据库安全配置方面的基本要求。为了提高SQL Server数据库的安全性而提出的。 1.2. 范围 本规范适用于XXXX使用的SQL Server数据库版本。

2.配置标准 2.1. 补丁 2.1.1.安装数据库最新补丁 【目的和操作】连接微软SQLServer网站,获得各个最新的补丁包和补丁集合。 2.2. 网络配置 2.2.1.隐藏服务器 【目的和操作】在企业管理器中选择数据库服务器的属性,网络配置,TCP/IP 属性,选中其中的“隐藏服务器”选项。 该操作可以通过设置IPSE策略过滤UDP1434端口完成。 2.2.2.去掉不必要的协议 【目的和操作】默认情况下,SQLSERVER同时安装TCP/IP和管道,在企业管理器中选择数据库服务器的属性,网络配置,删除管道。 【影响】首先确认用户或者应用程序不使用管道来通讯。只使用Windows进行身份验证并需要远程维护必须使用管道。 2.2. 3.改变默认通信端口 【目的和操作】在企业管理器中选择数据库服务器的属性,网络配置,TCP/IP 属性,默认情况下是TCP 1433端口,请修改该端口为新的端口。 再使用Windows的IPSEC安全策略,禁止非允许的IP地址访问此端口。 【影响】影响使用默认端口的远程访问,要求用户先确认不影响其他操作。

2.2.4.使用通讯协议加密 【目的和操作】使用SSL加密协议。 【影响】影响使用默认端口的远程访问,要求用户先确认不影响其他操作。2.2.5.网络连接访问控制 【目的】在操作系统或者相应的网络设备上设置网络访问控制 【具体配置】 1、禁止非数据库应用系统IP连接UDP1434、TCP1433(或者修改后的通 讯端口)的连接 2、禁止非数据库应用系统IP连接TCP445/139端口的连接。 【影响】根据需要选择。会影响普通的数据库连接。 2.3. 审核设置 2.3.1.设置审核级别 【目的】设置SQL Server的审核选项。 【具体配置】 展开一个服务器组。右击一个服务器,再单击"属性"。在"安全性"选项卡 的"身份验证"下,在"审核级别"中选择在 SQL Server 错误日志中记录的用 户访问 Microsoft? SQL Server?的级别:"全部"表示审核成功的和失败的 登录尝试。 2.3.2.设置日志目录权限 【目的】限制日志目录的权限,防止对日志目录的非授权访问。 【具体配置】 日志通常保留在:SQL Server安装目录\MSSQL\LOG\ 设置目录权限为:administrator, system(完全控制),如果有服务账号, 也加上服务账号的权限。 【影响】 如果SQL Server服务不是以localsystem而是以其他账号运行,那么也设置 该账号有完全控制的权限

数据库的安全性与完整性

4 数据库的安全性与完整性 数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得重要关注的方面。 数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。 一般说来,对数据库的破坏来自以下4个方面: (1)非法用户 非法用户是指那些未经授权而恶意访问、修改甚至破坏数据库的用户,包括那些超越权限来访问数据库的用户。一般说来,非法用户对数据库的危害是相当严重的。 (2)非法数据 非法数据是指那些不符合规定或语义要求的数据,一般由用户的误操作引起。 (3)各种故障 各种故障指的是各种硬件故障(如磁盘介质)、系统软件与应用软件的错误、用户的失误等。 (4)多用户的并发访问 数据库是共享资源,允许多个用户并发访问(Concurrent Access),由此会出现多个用户同时存取同一个数据的情况。如果对这种并发访问不加控制,各个用户就可能存取到不正确的数据,从而破坏数据库的一致性。 针对以上4种对数据库破坏的可能情况,数据库管理系统(DBMS)核心已采取相应措施对数据库实施保护,具体如下: (1)利用权限机制,只允许有合法权限的用户存取所允许的数据,这就是本章4.1节“数据库安全性”应解决的问题。 (2)利用完整性约束,防止非法数据进入数据库,这是本章4.2节“数据库完整性”应解决的问题。 (3)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,此即本章4.3节“故障恢复技术”的内容。 (4)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行,此即本章4.4节“并发控制”的内容。

SQLserver数据库优化

SQLserver数据库优化 在使用索引字段作为条件时,如果该索引是联合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用。iv. 如果临时表的数据量较大,需要建立索引,那么应该将创建 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询: 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb 应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要. 2、纵向、横向分割表,减少表的尺寸(sp_spaceuse) 3、升级硬件 4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段 5、提高网速; 6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。配置虚拟

内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。运行Microsoft SQL Server? 2000 时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的1.5 倍。如果另外安装了全文检索功能,并打算运行Microsoft 搜索服务以便执行全文索引和查询,可考虑:将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍。将SQL Server max server memory 服务器配置选项配置为物理内存的1.5 倍(虚拟内存大小设置的一半)。 7、增加服务器CPU个数;但是必须明白并行处理串行处理更需要资源例如内存。使用并行还是串行程是MsSQL自动评估选择的。单个任务分解成多个任务,就可以在处理器上运行。例如耽搁查询的排序、连接、扫描和GROUP BY字句同时执行,SQL SERVER根据系统的负载情况决定最优的并行等级,复杂的需要消耗大量的CPU的查询最适合并行处理。但是更新操作Update,Insert,Delete还不能并行处理。 8、如果是使用like进行查询的话,简单的使用index是不行的,但是全文索引,耗空间。like 'a%' 使用索引like '%a' 不使用索引用like '%a%' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是V ARCHAR。对于字段的值很长的建全文索引。 9、DB Server 和APPLication Server 分离;OLTP和OLAP分离 10、分布式分区视图可用于实现数据库服务器联合体。联合体是一组分开管理的服务器,但它们相互协作分担系统的处理负荷。这种通过分区数据形成数据库服务器联合体的机制能够扩大一组服务器,以支持大型的多层Web 站点的处理需要。有关更多信息,参见设计联合数据库服务器。(参照SQL帮助文件'分区视图') a、在实现分区视图之前,必须先水平分区表 b、在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的名称。这样,引用分布式分区视图名的查询可以在任何一个成员服务器上运行。系统操作如同每个成员服务器上都有一个原始表的复本一样,但其实每个服务器上只有一个成员表和一个分布式分区视图。数据的位置对应用程序是透明的。 11、重建索引DBCC REINDEX ,DBCC INDEXDEFRAG,收缩数据和日志DBCC SHRINKDB,DBCC SHRINKFILE. 设置自动收缩日志.对于大的数据库不要设置数据库自动增长,它会降低服务器的性能。在T-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的: 1、查询语句的词法、语法检查 2、将语句提交给DBMS的查询优化器 3、优化器做代数优化和存取路径的优化 4、由预编译模块生成查询规划 5、然后在合适的时间提交给系统处理执行

SQLServer数据库基准安全配置标准

MS SQL Server 数据库 基准安全配置标准 目录 1. 将SQL SERVER身份验证设置为仅限WINDOWS (2) 2. 安装最新的补丁更新程序 (2) 3. 优化服务 (2) 4. 限制SQL SERVER 只采用TCP/IP (3) 5. 帐户 (3) 5.1. 使用最低权限帐户运行SQL S ERVER (3) 52 为SA帐号设置强壮的口令 (3) 53 删除SQL来宾用户帐户 (5) 54 删除BUILTIN\A DMINISTRATORS 服务器登录 (5) 5.5. 不为公共角色授予权限 (5) 6. 文件和目录 (5) 6.1. 验证对SQL S ERVER安装目录的访问权限 (6) 6.2. 验证E VERYONE组是否不具有对SQL S ERVER文件的访问权限 (6) 63 保证安装日志文件的安全 (7) 7. SQL SERVER 数据库对象 (7) 7.1. 删除示例数据库 (7) 7.2. 保证存储过程的安全 (7) 7.3. 限制CMD E XEC对SYSADMIN角色的访问权限 (9) 8. 审核和日志 (11)

1.将SQL Server身份验证设置为仅限Windows 应当对SQL Server进行配置,使其支持仅限Win dows身份验证,因为这种验证方式有诸多优点。不必在网络上传送凭据;可避免在数据库连接字符串中嵌入用户名和密码;更易于进行安全管理,因为只需要与一个Windows安全模块而不是另外的SQL Server安全模块打交道;密码到期期间的登录安全性得到提高;最低限度的长度要求及帐户锁定策略。 2. 安装最新的补丁更新程序 包括最新的Windows操作系统以及SQL Server的Service Pack。 3. 优化服务 SQL服务安装程序运行期间将安装以下四个Windows服务: MSSQLSERVER(对于命名实例,则为MSSQL$InstanceNam?。此为SQL Server数据库引擎,是唯一的强制安装服务。 SQLSERVERAGENT (对于命名实例,则为SQLAgent$lnstanceName)。可 借助此支持服务制定命令执行计划及在出错时通知操作人员。 MSSQLServerADHelper。它可提供Active Directory集成服务,包括数据库实 例注册。 Microsoft Search。它可提供全文搜索能力。在任何情况下均须通过本地系统帐户 来运行此服务。 只有MSSQLSERVER数据库引擎是必备的。其余服务提供了附加功能,只在特定情况下才需要使用。如并非必需,请禁用这些服务。 注意:不应将SQL Server配置为以本地系统帐户或本地Administrators组的任何成员

SqlServer数据库安全加固

SQLServer数据库安全配置基线加固操作指 导书 佛山供电局信息中心 2014年4月

目录 1.1 SQLServer数据库安全基线要求 (3) 1.1.1 应对登录操作系统的用户进行身份标识和鉴别 (3) 1.1.2 禁止用Administrator或System用户启动数据库 (4) 1.1.3 密码策略 (4) 1.1.4 用户名的唯一性 (5) 1.1.5 应启用访问控制功能 (5) 1.1.6 管理用户的角色分配权限 (6) 1.1.7 实现操作系统和数据库系统特权用户的权限 (6) 1.1.8 删除多余账户 (6) 1.1.9 审计功能 (7) 1.1.10 审计记录要求 (7) 1.1.11 安装最新补丁 (8) 1.1.12 删除默认安装数据库 (8) 1.1.13 删除不必要的存储过程 (9)

1.1 SQLServer数据库安全基线要求 1.1.1 应对登录操作系统的用户进行身份标识和鉴别 控制台根目录下的SQL Server组/数据库,右建打开数据库属性, 选择安全性,将安全性中的审计级别调整为“全部”,身份验证调整 为“SQL Server 和Windows” SQL Server 2000 SQL Server 2005

1.1.2 禁止用Administrator或System用户启动数据库 1.1.3 密码策略

1.1.4 用户名的唯一性 户名。 为每个管理员添加专门的用户名,建议实名制。 进入“SQLServer管理器->安全性->登陆名(右键)->新建用户名” 进行添加数据库用户名。 1.1.5 应启用访问控制功能

数据库系统概论第5版课后答案第4章数据库安全性

第4章数据库安全性 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 CC评估保证级(EAL)的划分 4.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有:

1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用 户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有 未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐 藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可 以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知 数据的内容。 5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 6.对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1)授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3)将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4)将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5)将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7.针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1)REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2)REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3)REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4)REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5)REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6)REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平;

MS_SQL_Server_数据库性能优化方法总结

1.列出数据库服务器、Web服务器的基本的硬件配置,如CPU、内存等。 2.检查数据库服务器是否真正启用了AWE内存。 (1) 启用AWE:数据库服务器检查C:\boot.ini文件,需要配置"/PAE"(*重启电脑才能生效),如下: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE (2) 开启sql server 服务用户的,内存中锁定页面权限 (*重启电脑才能生效)在“服务管理”中查看 SQL SERVER 服务登录账户,默认是本地系统帐户(System)。然后在运行 gpedit.msc ,选择计算机配置->windows 设置->安全设置->本地策略->用户权限分配->内存中锁定页面。添加SQL SERVER服务的登录用户到里面去。 (3)启用数据库AWE内存,以服务器8G内存为例,一般设置如下,最小2G,最大6G(重启SQL SERVER服务即可): (4)跟踪数据库性能“Total Server Memory ”的使用情况,看看数据库真正使 用的内存,越接近为数据库分配的最大内存越好。 或使用如下语句,查询数据库的内存使用情况: use master go select * from sysperfinfo where counter_name like '%Total Server Memory(KB)%' go 3.Web服务器监控项:

SQLServer数据库入门学习总结

SQL Server数据库入门学习总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数存储过程触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库--网状数据库和层次数据库;第二代数据库--关系数据库 数据库(DB);数据库管理系统(DBMS);数据库系统(DBS) SQL Server 2000 提供了不同版本:企业版、标准版、个人版、开发版 SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;浮点数:real,float,decimal;二进制:binary,varbinary;逻辑:bit;字符:char,nchar,varchar,nvarchar;文本和图形:text,ntext,image;日期和时间:datetime,smalldatetime;货币:money,smallmoney 数据库的创建和删除;数据库表的创建、修改和删除 数据完整性:实体完整性:Primary Key,Unique Key,Unique Index,Identity Column;域完整性:Default,Check,Foreign Key,Data type,Rule;参照完整性:Foreign Key,Check,Triggers,Procedure;用户定义完整性:Rule,Triggers,Procedure;Create Table中得全部列级和表级约束 SQL Server中有5种约束:主键约束(Primary Key Constraint)、默认约束(Default Constraint)、检查约束(Check Constraint)、唯一性约束(Unique Constraint)、外键约束(Foreign Key Constraint). 关系图 数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护 两个实体之间的联系:一对一(1:1)、一对多(1:n)、多对多(m:n) 实体关系模型-- E-R图

SQLServer数据库使用心得

SQLServer数据库使用心得 摘要:ASP+Access的组合方式不能满足现有编程需要,在使用ASP+SQLServer的组合方式中经常遇到的一些问题 关键词:ASPAccess数据库SQLServer数据库 我刚开始学习编写ASP代码时,一般都使用Access数据库,因为它操作简便并且功能强大。ASP+Access的组合方式使用方便,代码执行速度快,很适合做一些中小型网站、聊天室、论坛、网上商城等中小型程序。 但是,从数据安全和数据存贮量的角度考虑,ASP+Access的组合方式无疑存在着很大的弊端:一是数据库可以被入侵者使用网络工具下载;二是Access数据库的存储量有限,当数据记录过多时,会导致相应的程序代码出错或者没有响应。 基于上述原因,我开始使用SQLServer数据库,在实际应用中遇到了很多问题,我通过查找参考书和网络论坛解决了其中的一部分,现总结如下几点,与大家共同探讨一下。 …sa?登录失败。原因:未与信任SQLServer连接相关联 当你确认自己的SQLServer安装使用正常,数据库连接代码没有错误,数据库也附加成功,出现上述错误时,请检查SQLServer属性中安全性配置的身份验证方式,应该使用SQLServer和Windows混合认证方式,如果使用的是仅Windows认证方式,就会显示该项错误提示。 刚开始使用SQLServer数据库的时候,由于不了解认证方式的区别,我以为是自己的SQLServer数据库安装有问题,重装了几次,费时费力还没有解决问题,幸好网络上高手众多,才发现原来是如此简单的一个认证方式的原因,令人汗颜。 2ACCESS转化成SQLServer2000需要注意的几个问题 2.1转换的方法 (1)打开SQLServer企业管理器“控制台”下“工具”中的“数据转换服务”中的“数据导入”;(2)库,然后确定。(3)选择目的,选择用于SQLServer的microsoftOLEDB 提供程序;服务器选择,如果是本机,默认(local);认证方式两种选择均可;数据库可

SqlserverSQL性能优化经验

Sqlserver SQL性能优化经验 1.选择最有效率的表名顺序(只在基于规则的优化器中有效) SQLSERVER的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,必须选择记录条数最少的表作为基础表,当SQLSERVER处理多个表时,会运用排序及合并的方式连接它们, 首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行排序;然后扫描第二个表(FROM子句中最后第二个表);最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并 例如: 表TAB1 16,384 条记录表TAB2 5 条记录,选择TAB2作为基础表(最好的方法) select count(*) from tab1,tab2 执行时间0.96秒,选择TAB2作为基础表(不佳的方法) select count(*) from tab2,tab1 执行时间26.09秒; 如果有3个以上的表连接查询,那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表 例如: EMP表描述了LOCATION表和CATEGORY表的交集 SELECT * FROM LOCATION L, CATEGORY C, EMP E WHERE E.EMP_NO BETWEEN 1000 AND 2000 AND E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN 将比下列SQL更有效率 SELECT * FROM EMP E , LOCATION L , CATEGORY C WHERE E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN AND E.EMP_NO BETWEEN 1000 AND 2000

相关主题
文本预览
相关文档 最新文档