SQL2005数据库

2024-05-10

SQL2005数据库(共11篇)

SQL2005数据库 篇1

1 引言

JDBC (Java DataBase Connectivity, Java数据库连接) 是基于Java的、用于访问关系数据库的应用程序编程接口 (API) , 提供在Java应用程序中执行SQL语句以访问和操作关系数据库的方法。目前, 大多数主流数据库都支持JDBC, 均推出了各自的JDBC驱动程序 (driver) , 每一个驱动程序都实现了JDBC API中声明的接口。这样, JDBC既实现了应用程序与数据库的连接, 又实现了数据独立, 使应用程序具有很好的可移植性, 一份应用程序可应用于不同类型的数据库。

2 下载Microsoft SQL Server 2005 JDBC Driver驱动程序

Microsoft SQL Server 2005数据库提供JDBC驱动程序。从网上下载SQL Server JDBC Driver 2.0, 然后解压缩, 可以看到有sqljdbc4.jar、sqljdbc.jar等文件。在后面给出的Java程序中会用到sqljdbc.jar (或sqljdbc4.jar) 。

3 配置Microsoft SQL Server 2005

在Windows XP环境, 从桌面左下角, 单击:开始-->所有程序-->Microsoft SQL Server 2005-->SQL Server Management Studio, 启动SQL Server 2005。

在“连接到服务器”窗口, “服务器名称 (S) :”后面选择“pc103SQLEXPRESS” (说明:在不同的机器, 服务器名称可能不同) , 单击“连接”按钮。

在“Microsoft SQL Server Management Studio”窗口, 然后单击“安全性”-->“登录名”, 选中“sa”, 单击鼠标右键, 然后单击“属性”菜单项。

在打开的“登录属性-sa”窗口, 单击左侧“选择页”的“常规”, 然后在右侧的“登录名 (N) :sa”下面的“SQL Server身份验证 (S) ”输入密码 (例如输入密码“123456”) , 再确认密码。如图1所示。

在“登录属性-sa”窗口, 单击左侧“选择页”的“状态”, 然后在右侧的“登录:”下面选中“启用”单选按钮。然后, 单击该窗口右下角的“确定”按钮。

在pc103SQLEXPRESS (SQL Server 9.0.1399–pc103Administrator) 上单击鼠标右键, 然后单击“属性”菜单项。

在新打开的“服务器属性-pc103SQLEXPRESS”窗口, 在左侧的“选择页”单击“安全性”。然后, 在窗口的右侧, 选中“服务器身份验证”下面的“SQL Server和Windows身份验证模式”单选按钮。选中“登录审核”下面的“失败和成功的登录”单选按钮。最后, 单击该窗口右下角的“确定”按钮。如图2所示。

在新出现的“Microsoft SQL Server Management Studio”窗口, 询问“直到重新启动SQL Server后, 您所做的某些配置更改才会生效。”, 单击“确定”按钮。

在“pc103SQLEXPRESS (SQL Server 9.0.1399–pc103Administrator) ”上单击鼠标右键, 然后单击“重新启动”菜单项。如图3所示。

在新出现的“Microsoft SQL Server Management Studio”窗口, 询问“是否确实要重新启动pc103上的MSSQL$EXPRESS服务?”, 单击“是”按钮。

在Windows XP环境, 从桌面左下角, 单击:开始-->所有程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server外围应用配置器。

在“SQL Server 2005外围应用配置器”窗口, 单击“服务和连接的外围应用配置器”。

在新打开的“服务和连接的外围应用配置器”窗口, 单击左侧“SQLEXPRESS”下面的“远程连接”, 然后在右侧, 选中“本地连接和远程连接”和“同时使用TCP/IP和named pipes (B) ”。

在Windows XP环境, 从桌面左下角, 单击:开始-->所有程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server Configuration Manager。在打开的“SQL Server Configuration Manager”窗口, 单击窗口左侧“SQL Server 2005网络配置”下面的“SQLEXPRESS的协议”, 然后, 在窗口右侧的“TCP/IP”上单击鼠标右键, 在菜单中单击“属性”菜单项。

在“TCP/IP属性”窗口, 选中“协议”选项卡, 然后, 在“已启动”的右侧单击“是”。

在“TCP/IP属性”窗口, 选中“IP地址”选项卡, 然后, 在“IP1”的“TCP端口”右侧, 输入“1433”端口号, “已启用”右侧选中“是”。在“IP2”的“TCP端口”右侧, 输入“1433”, “已启用”右侧选中“是”。在“I-PA11”的“TCP端口”右侧, 输入“1433”。最后, 单击“确定”按钮。如图4所示。

在随后出现的“警告”窗口, 询问“将保存所做的任何更改;不过, 只有停止并重新启动此服务之后, 这些更改才会生效。”, 单击“确定”按钮。

在“SQL Server Configuration Manager”窗口, 单击窗口左侧的“SQL Server 2005服务”, 接着在窗口右侧的“SQL Server (SQLEXPRESS) ”上单击鼠标右键, 然后单击“重新启动”菜单项。如图5所示。

在Windows XP环境, 从桌面左下角, 单击:开始-->所有程序-->Microsoft SQL Server 2005-->SQL Server Management Studio, 再次启动SQL Server 2005。

在“连接到服务器”窗口, 在“身份验证 (A) :”后面选择“SQL Server身份验证”。“登录名”后面输入“sa”。“密码”后面输入“123456”。然后, 单击“连接”按钮。如图6所示。

连接成功后, 在打开的新的窗口里, 用户自己建立数据库student, 数据库student中的表名是stuinfo。

表stuinfo的结构如表1所示。

表stuinfo中的记录如表2所示。

4 在Eclipse中配置Build Path

在Eclipse中, 新建Java Project“test”, 然后新建包“sql”。在包sql上单击鼠标右键, 单击菜单项Build Path-->Configure Build Path…。

在“Properties for test”窗口, 在右侧先选中“Libraries”选项卡, 然后单击下面的“Add External JARs”。如图7所示。

例如, sqljdbc.jar在E:abc文件夹下。则, 选中该文件 (E:abcsqljdbc.jar) , 然后单击该窗口右下角的“打开”按钮。

最后, 单击“Properties for test”窗口右下角的“OK”按钮。就完成了配置Build Path。 (本机安装的是JRE 1.5)

说明:如果安装的是Java Runtime Environment (JRE) 1.6版, 则使用支持JDBC 4.0的sqljdbc4.jar类库。配置Build Path的过程同上, 只需选择sqljdbc4.jar就可以了。

5 在Eclipse中输入Java源程序

Eclipse环境下, 用户输入Java源程序, 并保存。

Java源程序如下:

6 在Eclipse中, 运行Java程序

在Eclipse中, 单击菜单Run-->Run As-->Java Application, 运行结果如图8所示。说明Java和SQL Server 2005连接成功, 并且在Java程序中可以查询SQL Server 2005数据库中的记录。

当然, 在Java程序中也可以增加、修改、删除SQL Server 2005数据库中的记录。限于篇幅, 就不一一介绍了。

7 结束语

本文对Java通过JDBC连接Microsoft SQL Server2005数据库的交互方式进行了较深的探讨。如今Java语言已成为最常用的语言之一, 通过JDBC连接数据库的方式会在各类软件项目中获得更为广泛的应用, 它的重要性也将越来越突出。

参考文献

[1]张海越, 范曦.JDBC连接Oracle和SQL Server数据库探析[J].沿海企业与科技, 2012, 1.

[2]钱平生.探究JDBC连接Access和MySQL数据库[J].计算机光盘软件与应用, 2013, 13.

[3]叶核亚.Java2程序设计实用教程 (第2版[) M].北京:电子工业出版社, 2007.

SQL2005数据库 篇2

郝斌老师C语言1-10.rar(55.18 MB)郝斌老师C语言11-20.rar(74.16 MB)郝斌老师C语言21-30.rar(74.06 MB)郝斌老师C语言31-39.rar(54.99 MB)郝斌老师C语言40-49.rar(55.41 MB)郝斌老师C语言50-60.rar(462.46 MB)郝斌老师C语言61-70.rar(77.08 MB)郝斌老师C语言71-80.rar(119.06 MB)郝斌老师C语言81-89.rar.rar(73.89 MB)郝斌老师C语言90-100.rar(79.27 MB)郝斌老师C语言101-120.rar(510.8 MB)郝斌老师C语言121-130.rar(199.7 MB)郝斌老师C语言131-150.rar(222.73 MB)郝斌老师C语言151-180.rar(966.1 MB)缺少的课.zip(59.9 MB)C视频源代码.rar(4.98 MB)C大纲.pdf(5.33 MB)

该教程视频录制工具(使用前请先运行内置绿化工具).rar(28.31 MB)

1_Java概述_1.rar(23.51 MB)2_Java概述_2.rar(7.5 MB)3_Java概述_3.rar(20.59 MB)4_Java的卸载.rar(3.04 MB)5_Java的安装.rar(5.97 MB)

6_环境变量的设置.rar(25.53 MB)

7_常见dos命令.文件名和类名不同时编译运行的问题.rar(11.92 MB)8_变量命名规则.数据类型.运算符.格式化输出.流程控制.rar(41.38 MB)9_复习上节课.rar(9.31 MB)10_类和对象.rar(7.28 MB)11_内存分配.rar(22.49 MB)

12_访问控制符_1.rar(11.84 MB)13_访问控制符_2.rar(9.5 MB)14_构造函数.rar(23.2 MB)

15_UltraEdit的使用.rar(6.85 MB)16_复习.rar(4.5 MB)

17_函数的重载.rar(6.88 MB)18_构造函数.rar(8.33 MB)19_this.rar(10.91 MB)20_static.rar(23.06 MB)21_复习.rar(6.56 MB)

22_static两示例_求个数_只生成一个对象__1.rar(11.18 MB)23_static两示例_求个数_只生成一个对象__2.rar(11.88 MB)24_继承的由来.和.继承的访问控制权限_1.rar(7 MB)25_继承的由来.和.继承的访问控制权限_2.rar(10.32 MB)

26_面向对象的继承反映的是现实中的一般到特殊的关系.rar(2.12 MB)27_Java为什么没有多继承.rar(6.25 MB)28_复习.super_1.rar(16.38 MB)29_复习.super_2.rar(16.85 MB)30_重写父类方法_1.rar(15.52 MB)31_重写方法示例.rar(14.87 MB)32_多态的语法知识.rar(10.5 MB)33_复习.rar(8.59 MB)

34_多态注意事项和.实际应用示例.rar(29.59 MB)35_抽象类.和.final.rar(36.83 MB)36_接口_1.rar(23.89 MB)37_接口_2.rar(18.73 MB)38_面向对象复习.rar(8.4 MB)

39_编译运行含有包层的类_1.rar(14.59 MB)40_编译运行含有包层的类_2.rar(12.32 MB)41_同包和不同包类的相互访问.rar(20.18 MB)

42_复习.和.不同包之间的相互访问_1.rar(14.66 MB)43_复习.和.不同包之间的相互访问_2.rar(25.81 MB)44_jar包的生成.avi.rar(22.32 MB)

45_如何使用Jar包.和.包的总回顾.rar(18.09 MB)46_异常概述_1.rar(27.22 MB)47_异常概述_2.rar(24.18 MB)48_复习.rar(15.68 MB)

49_为什么需要异常.rar(16.92 MB)

50_printStackTrace方法的介绍.rar(8.83 MB)

51_可处理可不处理的异常.和.必须得进行处理的异常.rar(13.87 MB)52_处理异常的两种方式.rar(5.42 MB)53_finally.rar(10.41 MB)

54_自定义异常.和.throws常见错误解析_1.rar(13.96 MB)55_自定义异常.和.throws常见错误解析_2.rar(14.34 MB)56_异常复习.rar(82.65 MB)57_异常.rar(88.81 MB)

58_ToString()方法介绍_1.rar(77.48 MB)59_ToString()方法介绍_2.rar(8.55 MB)60_equals_1.rar(66.04 MB)61_equals_2.rar(77.03 MB)62_复习.rar(48.8 MB)

63_String类的.equals==常量字符串的用法.rar(100.19 MB)

64_String类的常用方法介绍.字符串和整数的相互转化.rar(105.64 MB)65_String常用方法举例.rar(107.2 MB)66_printf和println的区别.rar(90.1 MB)67_复习.rar(3.62 MB)

68_StringBuffer.rar(10.76 MB)69_数组.rar(20.96 MB)70_线程_1.rar(29.52 MB)71_复习.rar(4.85 MB)

72_创建线程的第二种方式.rar(6.62 MB)73_线程常用方法的介绍.rar(5.37 MB)74_线程的控制.rar(33.35 MB)

75_线程同步问题的产生原因.rar(12.48 MB)76_复习.rar(56.6 MB)

77_买票程序讲解.rar(247.39 MB)78_闲聊.rar(34.71 MB)79_复习.rar(6.68 MB)80_生产消费_1.rar(38 MB)81_生产消费_2.rar(35.09 MB)82_awt展望.rar(7.1 MB)83_gui.rar(47.02 MB)

84_布局管理器.rar(30.76 MB)85_事件处理.rar(34.74 MB)86_复习.rar(16.29 MB)

87_十个按钮的设计.rar(53.34 MB)88_三个文本框的相加运算示例.rar(253.89 MB)89_复习.内部类.匿名类.rar(26.53 MB)

90_计算器.可运行jar包的生成.rar(6.1 MB)

91_什么叫流.流的分类.四大基本抽象流.rar(39.71 MB)92_复习.rar(13.79 MB)

93_字节流.字符流的使用和它们的区别.rar(45.65 MB)94_缓冲流的使用.rar(49.57 MB)

95_将一个长整型数据写入字节数组然后再从字节数组读出来.示例的讲解.rar(37.25 MB)

96_print流.Object流.rar(43.78 MB)

97_什么是容器.容器的分类.Collection的介绍.List.Set的区别.重写toString方法的必要性.Collections的使用.rar(46.06 MB)98_Comparable.接口.Set接口.rar(39.28 MB)99_.复习.rar(18.25 MB)

100_equals和hashCode方法的使用(难点).rar(43.14 MB)101_Iterator接口.rar(9.71 MB)102_Map接口的使用.rar(35.11 MB)103_泛型.rar(16.1 MB)

104_网络编程基础知识.UDP编程.rar(32.15 MB)

105_TCP编程.和.TCP下的WEB服务器程序的讲解.rar(46.7 MB)106_JavaSE复习大纲.rar(58.21 MB)107_JavaSE复习大纲.rar(39.04 MB)源代码&PPT.rar(73.96 MB)

郝斌数据结构自学视频_[1-60].rar(587.35 MB)

郝斌数据结构自学视频【61-78】_视频完.rar(196.24 MB)[数据结构(C语言版)].严蔚敏_吴伟民.扫描版.pdf(28.95 MB)

郝斌SqlServer_2005自学视频_全集.rar(823.53 MB)

SQL2005数据库 篇3

关键词:数据库 工具 程序

随着我国职业教育的快速发展,技工院校面临的生源竞争压力也在逐年加大。在这种情况下,技工院校如何在“夹缝”中生存、发展已越来越成为每一位教育工作者必须思考的问题。笔者以为技工院校要在竞争如此激烈的职教市场获得主动权,计算机专业的改革显得尤为迫切。其原因在于从我国职业教育起步阶段至今,计算机专业已成为各类型、级别的职业院校的通用专业,各校在专业设置的目标、课程的内容、教学方法的选择上基本雷同,这就直接导致各校计算机专业“同质化”的现象越来越严重,学生对专业学习的热情在下降,用人单位对毕业生的满意程度也大打折扣。为此,笔者学校近年来大力开展计算机专业的教学改革以及课程建设的专项课题研究,教学内容突出“实用”、“应用”,强化实训,使计算机专业教学凸显技工院校的“技能应用”特色。

一、SQL Server2005课程内容

人们在社会生产实践中需要处理大量的数据,这就必然要对数据进行分类、组织、存储、检索和维护等工作,即数据管理。在各种数据管理技术中,数据库技术是数据管理应用最广泛的,它所研究的问题就是如何科学地组织和存储数据,以及如何高效地检索和处理数据。美国微软公司2005年推出的SQL Server2005扩展了SQL Server2000的性能、可靠性、可用性、可编程性和易用性,并增加了多项新功能,特别在商务智能、可编程性和安全性三方面的性能明显增强,使它成为领先的数据库管理系统,成为大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。在选择该课程时,笔者学院计算机教研室是出于多方面的考虑,一方面,以往我们的计算机专业教学内容往往滞后于计算机发展的现状,这就导致学生无法做到学以致用;另一方面从学生的长远发展来看引入新技术,可以有效地激发学生的学习兴趣,为学生今后的自我学习、自我发展奠定基础。

二、教学指导思想的把握

技工院校生源素质的逐年降低,给技校各专业的教学带来了极大地难题,同时不少技校生的文化基础素质极差,根本未达到初中毕业的应有水平。这就要求我们首先要明确技工院校计算机教育的定位。技校专业教育在培养目标、教学理念、课程体系、教学内容、教材建设、教学方法等各方面都与高职、本科教育有很大不同。因此技校的计算机专业教学要以市场需求为目标,以服务企业为宗旨,以就业为导向,以能力为本位,下大力气转变传统学科教育的模式,走出一条工学结合的新路。

三、SQL Server2005课程的教学

立足于技工院校学生的学情分析,SQL Server2005课程对于不少技校生来说,还是具有不小的难度的。因此,在日常的教学中应该注意以下几点。

1.课程内容要有所选择

课程内容要有所选择,不以理论知识为主,而应以工作过程知识为主,虽然在教学中不能忽视必需的理论教学,但不强调理论知识的系统性和完整性,而强调综合性和实用性,突出一个“用”字。

2.针对技校生特点进行教学

针对技校生特点进行教学,采用新的教学三部曲,即“提出问题—解决问题—归纳分析”,综合运用项目教学、任务驱动等教学方法。如我们将课程内容分为数据库概述、SQL Server2005关系数据库管理系统、数据类型、如何应用SQL Server2005管理控制台的企业管理器和查询分析器及创建、管理和维护数据库、数据库中表的高级查询操作、安全管理、数据转换、应用实例、实训案例等项目。教学内容从使用和应用SQL Server2005的需要出发,求实用,讲应用,淡化专业理论,同时强化实训内容,从最简单的“图书管理系统”开发案例入手,逐步引导学生开发一个“学生成绩管理系统”。在此基础上,指导学生开发一个“宾馆管理信息系统”,包括前台的界面设计和后台的数据库设计,设计难度逐步加大,这样循序渐进,从易到难,从而有效地引导学生通过实际操作较好地理解、掌握和使用SQL Server2005进行数据库设计的方法,

3.通过介绍使用Visual Basic等进行前台界面设计

通过介绍使用Visual Basic等进行前台界面设计,实现与后台数据库的连接,使学生形成一个完整的数据库管理系统的概念,真正达到提高学生实际操作与应用设计能力的目的。

SQL2005数据库 篇4

目前, 虽然SQL Server的数据库自身已经具有比较完善的安全策略, 包括用户身份认证、授权机制、视图机制、审计功能等。但是, 仍然不能满足越来越高的安全需要。为了保证SQL Server数据库的安全性, 防止黑客的非法入侵, 应该采用SQL Server的数据库加密技术进行加密, 以密文方式保存数据库中的明文数据, 当进行存取操作时再将密文还原成为明文。通过这种方式, 即使入侵者采用窃听等手段得到了数据库中的数据, 不能进行解密操作, 也不会威胁到数据库的安全的, 这样就使得数据库的安全性获得了大幅度的提高。因此, 研究SQL Server的数据库加密技术是具有非常重要的意义的。

SQL Server数据库加密技术就是保证SQL Server数据库中数据的保密性、正确性。即保护SQL Server数据库中的数据不被非法用户获取, 不因为操作员失误或者软硬件故障而导致数据错误。

1、数据库加密原理介绍

1.1 数据库加密技术的功能和特性

一般而言, 一个行之有效的数据库加密技术主要有以下六个方面的功能和特性。

(1) 身份认证。用户除提供用户名、口令外, 还必须按照系统安全要求提供其它相关安全凭证。如使用终端密钥。

(2) 通信加密与完整性保护。有关数据库的访问在网络传输中都被加密, 通信一次一密的意义在于防重放、防篡改。

(3) 数据库数据存储加密与完整性保护。数据库系统采用数据项级存储加密, 即数据库中不同的记录、每条记录的不同字段都采用不同的密钥加密, 辅以校验措施来保证数据库数据存储的保密性和完整性, 防止数据的非授权访问和修改。

(4) 数据库加密设置。系统中可以选择需要加密的数据库列, 以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主选择。

(5) 多级密钥管理模式。主密钥和主密钥变量保存在安全区域, 二级密钥受主密钥变量加密保护, 数据加密的密钥存储或传输时利用二级密钥加密保护, 使用时受主密钥保护。

(6) 安全备份。系统提供数据库明文备份功能和密钥备份功能。

1.2 对数据库加密系统基本要求

(1) 字段加密。 (2) 密钥动态管理。 (3) 合理处理数据。 (4) 不影响合法用户的操作。 (5) 防止非法拷贝。

1.3 加密算法

加密算法是数据加密的核心, 一个好的加密算法产生的密文应该频率平衡, 随机无重码规律, 周期足够长, 确保不可能产生重复现象。窃密者很难通过对密文频率、重码等特征的分析获得成功。数据库加密算法必须适应数据库系统的特性, 如强度高、加/解密速度快、适应明文数据长度变化范围大、数据加密后尽量不增加存储空间等。

目前常用的密码可以分为三类, 序列密码、分组密码和公开密钥密码。序列密码算法将明文与随机序列直接运算, 得到的每一位密文与明文其他位数据无关。该类算法运算速度高, 并且产生的密文一般与明文长度一样。但是如果得到数量较多的密文对, 则较容易破译。该算法常用于一次一密的传输加密。分组密码算法将明文按同定长度分组, 对各分组使用不同的密钥加密。密文中的每位数据不仅与密钥有关, 还与分组中其他明文数据有关。分组加密算法较难破泽, 但是密钥分发及管理困难。公开密钥算法即非对称密钥算法, 运算速度很慢, 不适合用于大数据量加/解密。比较各种加密算法, 数据库存储加密系统选择分组加密较为合适, 但要解决密钥管理问题。

常用的分组加密算法有DES、DIES和AES等, DES加密算法运行速度最快, 而AES一128次之。根据安全性能来说, AES算法宗旨在取代DES的新一代对称加密算法, 密钥长度可以是128、192或256位, 安全性能要比DES (密钥长度只有56位) 强得多。该算法设计简单, 密钥安装快、需要的内存空间少, 在所有平台上运行良好, 支持并行处理, 能抵抗各种已知攻击。所以该加密系统中, 我们采用的数据库密码是AES算法, 由它构筑的数据库加密系统能比较好地满足数据库的加密要求。

在对数据表的敏感数字段加密时, 使用系统自动产生的一个128位密钥用AES算法对数据进行加密。在对数据密钥加密时, 用RSA算法进行加解密, 也就是说加密时用密钥对中的私钥对数据密钥加密, 解密时用密钥对中的公钥解密。采用这样设计的好处是由于每个用户对应于一个用户密钥对, 便于用户密钥的管理。

2、SQL Server 2005数据加密技术

数据用数字方式存储在服务器中并非万无一失。实践证明有太多的方法可以智取SQL Server2000认证保护, 最简单的是通过使用没有口令的sa账号。尽管SQL Server 2005远比它以前的版本安全, 但攻击者还是有可能获得存储的数据。因此, 数据加密成为更彻底的数据保护战略, 即使攻击者得以存取数据, 还不得不解密, 因而对数据增加了一层保护。

SQL Server 2000以前的版本没有内置数据加密功能, 若要在SQL Server 2000中进行数据加密, 不得不买第三家产品, 然后在服务器外部作COM调用或者是在数据送服务器之前在客户端的应用中执行加密。这意味着加密的密钥或证书不得不由加密者自己负责保护, 而保护密钥是数据加密中最难的事, 所以即使很多应用中数据已被很强的加密过, 数据保护仍然很弱。

SQL Server 2005通过将数据加密作为数据库的内在特性解决了这个问题。它除了提供多层次的密钥和丰富的加密算法外, 最大的好处是用户可以选择数据服务器管理密钥。SQL Server 2005服务器支持的加密算法如下:

⑴对称式加密 (Symmetric Key Encryption) :

对称式加密方式对加密和解密使用相同的密钥。通常, 这种加密方式在应用中难以实施, 因为用同一种安全方式共享密钥很难。但当数据储存在SQL Server中时, 这种方式很理想, 你可以让服务器管理它。SQL Server 2005提供RC4、RC2、DES和AES系列加密算法。

⑵非对称密钥加密 (Asymmetric Key Encryption) :

非对称密钥加密使用一组公共/私人密钥系统, 加密时使用一种密钥, 解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时, 这种加密方式更方便。SQL Server 2005支持RSA加密算法以及512位、1, 024位和2, 048位的密钥强度。

⑶数字证书 (Certificate) :

数字证书是一种非对称密钥加密, 但是, 一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联。SQL Server 2005支持“因特网工程工作组” (IETF) X.509版本3 (X509v3) 规范。一个组织可以对SQL Server 2005使用外部生成的证书, 或者可以使用SQL Server2005生成证书。

SQL Server 2005采用多级密钥来保护它内部的密钥和数据, 如下图所示:

图中引出箭头的密钥或服务用于保护箭头所指的密钥。所以服务主密钥 (service master key) 保护数据库主密钥 (database master keys) , 而数据库主密钥又保护证书 (certificates) 和非对称密钥 (asymmetric keys) 。而最底层的对称性密钥 (symmetric keys) 被证书、非对称密钥或其他的对称性密钥保护 (箭头又指回它本身) 。用户只需通过提供密码来保护这一系列的密钥。

3、总结

数据加密技术的使用让人们的数据信息有了更安全的保障, SQL Server 2005有着比以前版本更清晰的安全模型即主体, 安全对象和权限。而在数据加密方面用于加密敏感数据的密钥、证书等函数, 极大的增加了数据库和应用的安全性。

参考文献

[1]Richard Spillman.经典密码学与现代密码学[M].清华大学出版社, 2005年7月.

[2]Atul Kahate.密码学与网络安全[M].清华大学出版社, 2005年9月.

[3]杨义先, 钮心忻.应用密码学[M], 北京邮电大学出版社, 2005年6月.

[4]康会光, 王俊伟, 张瑞萍等.SQL Server2005中文版标准教程[M].2007年12月.

[5]宋伯东, 张海成, 刘学超.Sql Server数据库加密技术应用[J].科技信息, 2010, (06) :227.

[6]王元珍, 冯超.数据库加密系统的研究与实现[J].计算机工程与应用, 2005 (8) :170-172.

SQL2005数据库 篇5

1、实验目的:

(1)了解SQL Server数据库的逻辑结构和物理结构;

(2)掌握使用SQL语句修改数据库的方法;

2、实验准备:

(1)要明确能够修改数据库的用户必须是系统管理员,或者是被授权使用CREATE DATABASE语句的用户;

(2)修改数据库必须要明确:除存储位置,即物理文件名不能修改外,其它项均可以修改,包括数据库名、数据库大小和增长量等数据;

(3)了解使用SQL语句修改数据库的方法。

3、实验内容:

(1)删除实验三中创建的数据库;

(2)用自己名字创建一个数据库,包含一个主数据文件data1和一个日志文件log1,最大值都是5M;增长量分别为10%和1M;存储在自己的文件夹下;

(3)添加一个数据文件data2,最大值为3M;

(4)添加一个日志文件log2,最大值为4M;

(5)添加一个文件组group1;

(6)添加一个次数据文件data3放在文件组group1中;

(7)修改数据文件data2,将最大值改为5M;

(8)删除日志文件log1;

(9)删除次数据文件data3、data2;

(10)修改文件组,将group1改名为group2;

(11)删除文件组group2;

(12)将log2的增长量改为1M。

(13)缩小该数据库的大小,保留自由空间1M,保留释放的文件空间。

(14)将数据库的日志文件log2缩小到3M。

SQL2005数据库 篇6

关键词:SQL Server;安全

中图分类号:TP392 文献标识码:A文章编号:1007-9599 (2011) 07-0000-01

How to Improve the Security of SQL Server 2005

Liu Songai

(Heilongjiang Institute of Technology,Harbin150025,China)

Abstract:The databases often contain important information of the enterprise,once the hacking will lead to the destruction of irreparable loss.Therefore,how to improve the security of the database is a large database has been the focus of maintenance personnel.Based on this,the article SQL Server 2005 database with its methods of security for reference purposes only.

Keywords:SQL Server;Security

一、引言

SQL Server 2005 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本,该版本继承了SQL Server 7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,并在各大企业中得到了广泛的应用。然而,尽管SQL Server数据库在安全性能上已经有了很大的进步与发展,黑客技术也是随之不断更新的。因此,提高数据库安全防护意识,深入了解SQL Server数据库的功能与特性,采取切实有效的保护方法对于保护数据库信息有着重要意义。

二、SQL Server 2005的安装

安装 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 2005是作为一种Windows服务来运行的。可以为每个服务配置自己的服务账户,这些设置在安装时是公开的。在选择服务账号时,应考虑最小特权原则(Microsoft建议,对于SQL Server服务或SQL Server代理服务,不要使用Network Service账户。本地用户账户或域用户账户更适用于这些SQL Server服务)。它只具有必须做的权限之外,不应再有更多的权限。考虑到账号隔离,服务账号不仅应该彼此不同,并且不应该被同一台服务器上的其他服务使用。如果服务账户需要额外的权限,权限应该被赋予相应的Windows组,而不是直接赋予该服务的用户账户。这与访问控制列表的方式一致,最好由Windows统一管理。例如,使用SQL Server即时文件初始化特征的能力需要执行卷维护任务的用户权限,这被设置在组策略管理工具。

四、验证模式

SQL Server有两种身份验证模式:Windows身份验证和混合模式身份验证。Windows身份验证是默认身份验证模式,并且比SQL Server身份验证更为安全。通过Windows身份验证完成的连接有时也称为可信连接,这是因为SQL Server信任由Windows提供的凭据。混合模式身份验证,允许Windows账户和SQL Server特定账户(称为SQL登录)登陆。当使用SQL登录,SQL登录密码通过网络来进行身份验证,这就使得SQL登录没有Windows登录安全。最好的做法是尽可能使用Windows登录。使用SQL Server的Windows登录实现单点登录,并简化登录管理。

五、补丁

确保服务器软件和SQL Server 2005安全的最好的方法,是尽快安装安全补丁程序和服务补丁。通过Windows Update或Microsoft Update,使用操作系统的手动更新,以及使用Windows Update或Microsoft Update来启用自动更新,但需测试后,才能应用到生产系统。SQL Server 2005把补丁和服务包集成到Windows Update。立即安装所有补丁,服务包被测试后,应尽快安装。

六、结语

安全是任何主要应用程序的重要组成部分。在某种程度上,执行SQL Server 2005安全不容易出错,安全体系要相对容易实现,“正确的”安全配置应该是默认配置。数据库维护人员只要在深入了解其原理的基础上按照一定的步骤层层设防,就能够更好提高数据库的安全性能。

参考文献:

[1]张丽勇.基于SQL Server的后台数据库安全性策略与应用[J].科技与生活,2010

[2]李钰.关于SQL Server数据库安全性的研究[M].商情,2010

SQL2005数据库 篇7

XML是一种半结构化数据描述语言, 它克服了传统Web描述语言HTML只能够表达数据的内容, 无法表达Web数据的结构特征, 不便于半结构化数据查询这一不足, 正在逐步替代HTML, 成为新一代Web数据描述与数据交换标准。如何有效存储、处理XML文档和从大量XML文档中检索有用信息, 已成为数据库研究领域的一个重要研究课题。本文以SQL2005来处理对XML半结构化数据的查询及优化。

(二) 系统描述

系统的基本结构如图1所示

XML文档管理器提供应用程序以结点和全文档方式存取文档的机制, 它负责检查文档的有效性;查询管理器提供基于离散模式匹配查询的实现, 具体做法是将匹配查询转换成CSP问题;模式管理器维护系统的模式集, 由于式本身也可表达为树状模型, 因此, 它本身的存储也与XML文档的存储采用一样的方式。

(三) 半结构化XML数据查询

对Web上大量半结构化数据的访问成为近年来数据库界研究的一个热点。半结构化的数据通常没有严格的类型定义, 描述数据结构的信息包含在数据当中。为此, 在很多研究中采用了基于有向图的半结构化数据模型, 按照这样的模型, 半结构化数据可以用标注的有向图表示, 图中节点表示对象, 边表示对象之间的联系。借鉴传统数据库系统中模式的概念可以定义并建立半结构数据的模式, 在此基础上实现查询的表达和查询处理。

采用半结构化的数据模型处理Web数据时, 首先要从文本格式的数据中抽取结构信息。由于目前在web上普遍使用的HTML是面向显示的, 主要用于描述数据的格式、显示样式以及数据的位置等, 无法直接定义数据的结构, 因此从基于HTML的Web数据中抽取结构信息的难度很大, 通常只能根据数据的格式 (段落、字体、缩进距离等) 并结合启发性规则来进行推测, 在可抽取的数据类型、正确性以及通用性等方面都不够理想。

(四) SQL 2005查询XML数据优化

SQLserver2005为XML数据处理提供了广泛的支持, 一是XML数据可以自然地存储在XML数据类型列中, 管理XML本原数据格式提供以下功能:

l.创建XML索引, 提高数据的访问效率;

2. 支持XQuery语法, 让传统的SQL语言增加了访问XML数据的功能。二是利用CLOB或者varchar类型来保存XML数据。

实验创建了对应的两个表 (图2) PublisherXML表的的book字段采用xml类型, Publisher表的book字段采用varchar类型, 定义如下:

(五) 查询优化

在XML类型的列上进行查询效率低下的主要原因有:

1. XML类型的数据往往非常的大, 结构比较复杂, 直接利用XQuery尽完成查询需要复杂的结构连接计算, 这要反复的进行磁盘I/O而耗费大t的时间;

2.建立的索引不恰当, SQL server 2005支持在XML类型上建立XPath、ProPerty和value三种索引, 应该根据不同的查询需求建立相应的索引。

针对这两个问题, 采取以下两个措施进行改进:

l.对包含XML列的表建立附加列或者附加表, 并建立索引。

如果针对少量元素和属性值进行查询, 可以将这些数据提升到关系列中, 即建立附加列。当检索整个XML实例, 只对一部分XML数据进行查询, 并且将被提升的列编入索引。附加列是同一表中的计算列。如:

(1) 为PublisherXML表book列的title元素创建用户自定义函数:

Create function udf_get_book_title (@xDataxml)

(2) 向PublisherXML表添加由上述自定义函数创建的计算列:

Alter table PublisherXMLadd title as dbo.udf_get_book_title (book)

(3) 在publisherXML表的计算列title上建立索引

Crete index idxTitle on PublisherXML (title)

2.对查询习惯进行分析, 根据不同的查询习惯产生对应的XML索引类型。

定义查询窗口, 利用XQuery对XML类型数据进行查询的总次数为t, 某种类型的查询为q (xpath、property或者value) , 则查询窗口w=q/t (<=w<=l) 。

算法:根据查询类型的不同分别建立XPath、property或者value索引以提高查询效率, 输入:XML数据的查询和一个包含XML列的表;输出:Xpath、property、value索引。

(六) 结束语

在XML数据源中对大量的信息进行有效地查询, 对用户而一言, 就显得非常重要, 它能帮助用户更方便更有效更快捷地获取信息。在SQLserver2005中存放本原xML数据, 对这类数据的优化是一个新的课题。该文分析了传统优化方法在对基于SQLServer2005的xML数据查询优化过程中存在的误区, 给出了利用建立附加表或者附加列和查询窗口的方法和策略进行优化, 有效提高了查询XML数据的效率。

摘要:SQLScrver2005关系数据库管理系统提供了强大的管理XML数据的功能, 但它用传统的通过建立索引等方式进行查询效果并不理想。文章分析了SQLserver2005在查询XML数据过程中低效的原因, 提出了通过建立附加表或者附加列以及相应索引、利用查询窗口等措施来优化查询。实验结果表明, 该方法能有效提高查询XML数据的效率。

关键词:半结构化,XML数据,附加表

参考文献

[1]孟小峰, 王宇, 王小峰.XML查询优化研究[J].2006.软件学报.

[2]覃遵跃, 蔡国民, 黄云.SQL Server2005查询XML数据优化研究[J].东莞理工学院学报.

SQL2005数据库 篇8

近年来, 随着教育事业的飞速发展, 特别是高等教育的快速发展。教育管理信息化、现代化水平有了长足的进步。各高校在管理信息系统 (Management Information System, MIS) 方面已取得了可喜的成绩, 如大部分高校都在使用学生成绩管理系统、学籍管理系统、高校人事管理系统、高校学生就业管理系统等, 这些系统的成功实施为各高校的日常管理工作带来了很大的便利, 提高了管理效率和水平、在日常的工作中也积累了越来越多的数据。目前的这些数据库系统基本上都可以实现数据的录入、修改、统计、查询等功能。这些MIS大都是孤立的分属于不同的部门, 为完成某一个具体的工作而设计。如何方便、快捷、有效的统一利用这些数据, 为管理决策者提供事实依据, 成为一个亟待解决的问题。

因此, 建立一个企业级的高校管理决策支持系统 (Decision Support System, DSS) 则显得十分必要。这个管理决策支持系统应能满足日常简单的查询和维护, 同时能够向高校决策者提供有关教育形势的瞬时变化、发展趋势以及历史数据的深层次信息, 以利于决策。因此, 如何建立数据仓库, 更好的利用现有数据, 并在此基础上进行更高层次的处理--数据挖掘 (Data Mining, DM) 显得尤为重要。

2、系统基本结构

根据目前高校MIS的特点, 首先需要在较高层次上将不同信息系统中的数据综合、归类, 并进行分析利用的抽象, 即建立数据仓库 (Data Ware-house, DW) , 在DW的基础上进行联机分析处理 (OnLine Analysis Processing, OLAP) 和数据挖掘 (Data Mining, DM) , 为科学决策提供依据支持。

DW、OLAP和DM是三种相互独立又相互关联的技术。DW是从数据库技术发展中出现的一种为决策服务的数据组织、存储技术。DW由基本数据、历史数据、综合数据和元数据组成, 能提供综合分析、时间趋势分析等决策信息。OLAP是对多维数据进行分析的技术。由于大量数据集中于多维空间中, OLAP技术提供从多视角分析途径获取用户所需要的辅助决策的分析数据。DM对数据库或DW中的数据使用一系列方法进行挖掘、分析, 从中识别和抽取隐含的、潜在的有用信息, 并利用这些技术进行辅助决策。联机分析挖掘 (On Line Analytical Mining, OLAM是通过DM和OLAP有效结合而形成的技术。

他们从各自不同的角度辅助决策。DW是基础, OLAP和DM是两种不同的分析工具。根据高校自身特点, 采用DW+O-LAP+DM三者结合的方式, 构建决策支持系统.充分利用三者优点以提高辅助决策能力。基于以上情况, 高校管理决策支持系统结构如图1所示。其中通过元数据来支持和管理系统。

3、数据仓库

DW作为决策支持系统的基础, 它是面向主题的、集成的、稳定的、随时间变化的数据集合。DW不是业务数据的简单堆积, 而是从大量的事务型数据库中抽取数据, 并将其清理、转换为新的存储格式, 即为决策目标把数据聚合在一种特殊的格式中.随着此过程的发展和完善, 这种支持决策的、特殊的数据存储即被称为DW[1]。

DW把高校分散的、难以访问的日常营运数据转化为集中统一、随时可用的信息, 一般来说, 完整的DW具备建立、管理和使用全部成分。DW结构上可分为:数据源、后端加工、前端服务以及数据仓库的管理。数据源为DW提供源数据, 如各种子系统数据库、联机事务处理系统的事务数据、外部数据源等都可以作为DW的数据源。高校数据仓库的建立数据来源如图2所示。后端加工工具即数据ETL (抽取、转换、装载) :其功能是从数据源中抽取数据, 对数据进行检验和整理, 并根据DW的设计要求, 对数据进行重新组织和加工, 装载到DW的目标数据库中, 并且可以周期性地刷新DW以反映源的变化以及将DW中的数据作转储。数据仓库管理主要是通过元数据来实现的, 元数据仓储用于存储数据模型和元数据, 其中, 元数据描述了DW中源数据和目标数据本身的信息, 定义了从源数据到目标数据的转换过程, 这些可以通过数据建模工具管理以适应高校事务的发展, 来满足高校决策和综合分析的需要;

4、联机分析处理

利用关系数据库中的数据进行联机分析处理, 往往会因查询的数据信息不是缺乏分析能力, 就是因各信息系统之间相互隔离、结构各异, 使信息分析及决策人员不能据此对某一主题的相关数据进行多角度的比较、分析, 因而得出科学的分析结果。而基于DW的OLAP则很好的避免了该类问题的发生。它根据用户对企业业务理解的各种维度, 或者说从用户分析企业时的各种宏观领域出发, 从企业具有的各种原始数据转换出各类信息, 提供给分析、管理和领导人员快速、方便、交互地访问, 从不同领域、不同角度查看企业情况, 获得企业信息, 了解企业发展动态, 从而为快速响应市场、抢占市场先机、完善企业管理、提高企业竞争力和做出有效决策提供坚实的基础。

OLAP主要有两个特点, 一是在线性 (On-Line) , 体现为对用户请求的快速响应和交互式操作, 它的实现是由C/S这种体系结构来完成的;二是多维分析 (Multi_Analysis) , 这也是OLAP技术的核心所在。

5、数据挖掘

DM是从大型数据库的数据中提取人们感兴趣的知识, 这些知识是隐含的、事先未知的潜在有用信息, 提取的知识可表示为概念、规律、模式、规则、约束、可视化等形式。DM意味着在一些事实或观察数据的集合中寻找模式的决策支持过程, DM的对象不仅是数据库, 也可以是文件系统、数据集合或DW。基于DW的DM技术, 其任务是发现DW中尚未被发现的知识。对于那些决策者明确了解的信息, 可以用查询、OLAP或其它工具直接获取, 而另外一些隐藏在大量数据中的关系、趋势等信息就需要DM技术。DM技术可从DW中找出大量真正有价值的信息和知识, 可以更好地对高校的发展历程和未来趋势做出定量分析和预测。为各高校的管理决策者提供更科学的决策依据, 从而有效的提高教学质量, 有针对性的加强教学管理。[2]

6、联机分析挖掘

联机在线分析挖掘可以表示为:OLAP+DM=OLAM, 即DM和OLAP的有效结合, 形成了联机在线分析挖掘。OLAP和DM属于两种不同的分析工具, 有各自的特色和缺点, 将它们结合起来, 这可以充分发挥各自特色。对于决策者来说, 利用OLAP工具对当前数据进行深入分析验证其提出的假设和问题之外, 也可以验证DM得出的预测性结论, 防止偏差。OLAP的在线性体现在与用户的交互和快速响应, 多维性则体现在它建立在多维视图的基础上.用户积极参与分析过程, 动态地提出分析要求、选择分析算法, 对数据进行由浅及深的分析。DM与OLAP不同, 主要体现在它分析数据的深入和分析过程的自动化, 自动化是说, 其分析过程不需要用户的参与, 这是它的优点, 也正是它的不足, 因为在实际中, 用户也希望参与到挖掘中来, 如只想对数据的某一子集进行挖掘, 以及对不同抽取、集成水平的数据进行挖掘, 还有想根据自己的需要动态选择挖掘算法等等。由此可见, OLAP与DM各有所长, 如果能将二者结合起来, 发展一种建立在OLAP和DW基础上的新的挖掘技术, 将更能适应实际的需要。而OLAM (OnLine Analytical Mining或OLAP Mining) , 正是这种结合的产物。也是这种新型的决策工具发展的方向。但是建立在庞大数据库或DW基础上的OLAM在实现过程中面临的最大挑战是执行效率的提高和对用户请求的快速响应, 目前还没有OLAM的产品出现。

7、挖掘实例

根据福建交通职业技术学院2006级学生的资料建立数据库, 主要数据内容为学号, 姓名, 学生所在学院, 高考成绩, 高考外语成绩, 成绩平均分, 英语四级, 英语四级通过的学期等。将相应字段的字符型数据经规范后, 转换成数值型数据进行编码。如将学生所在学院规范成以下编码信息:

在此基础上采用遗传算法进行关联模式的挖掘。在本例中遗传算法采用以下运行参数:初始种群M选为1000, 交叉概率PC设为85%, 变异概率Pm设为5%, 编码串长度L设为6, 终止条件是经过两代运算后, 没有小于用户给定阈值的规则。经运算后在学生的资料库中发现部分关联规则如下。

1) <1000>-><014> (4%support, 98%confidence) 该规则表明船政学院的学生在第四学期通过英语四级的可信度为98%, 支持度为4%也就是说船政学院的学生第四学期基本上都能通过大学英语四级考试。2) <OOO04>-><08> (2%support, 99%confidence) 该规则表明平均分低于70分的学生到第8学期仍未通过大学英语四级的可信度为99%, 支持度为2%也就是说平均分低于70分的学生基本上未通过四级考试。3) <0003>-><010> (12%support, 90%confidence) 该规则表明高考外语成绩高于90分 (150分制) 的学生大都能通过四级考试.其可信度为90%, 支持度为12%。通过以上的挖掘发现, 我们可以有针对性的调整教学计划, 有目的, 有方向的做到因材施教, 切实加强学生的素质教育, 提高学生的综合能力。

8、结束语

DM技术已经在商业、金融业、保险业、电信业等多个领域开始得到应用, 取得了令人满意的效果。在教育领域里, 随着MIS数据信息的不断增长, 把DM技术应用到MIS中, 以建立高校管理决策支持系统, 必将为高校各级领导部门的决策, 提供切实可行的提高教学质量、优化教学资源的依据, 为各高校在激烈的竞争中掌握主动, 在未来的发展中提供更广阔的空间, 发挥重要的作用。

参考文献

[1].INMON W H.王志海译.Building the Data Warehouse[M].北京:机械工业出版社, 2O00.

SQL2005数据库 篇9

关键词:SqlServer2005,服务器,双机热备份,数据库镜像

以数据库为核心的计算机管理系统的普及, 使企业运作效率大大提高, 同时也增加了现代企业对计算机系统的依赖性[1]。而企业信息管理所产生的数据大部分都存储在服务器上。如果说服务器是网络数据的核心, 那么服务器硬盘就是这个核心的数据仓库, 所有的软件和用户数据都存储在这里。服务器一个小小的软硬件故障或误操作都有可能造成关键业务出现中断或瘫痪, 使企业蒙受损失。因此, 系统的高可用性是关键。所谓高可用性包括一切避免系统服务中断的技术, 它有多种解决方案, 如双机热备、集群, 高端容错主机等。其中高端容错主机是完全基于硬件的容错, 价格昂贵, 仅用于对容错有极高要求的应用。集群技术是指一组相互独立的服务器, 在网络中表现为单一的系统, 并以单一系统的模式加以管理以提供高可用性的服务[2,3]。集群技术偏重于解决负载均衡、科学计算等问题, 投资大、安装使用复杂, 一般只适用于大型系统。双机热备系统投资小、配置简单, 对于运行关键业务的中小型系统, 双机热备方案无疑是更具性价比的选择[4,5,6]。

1 双机热备份

双机热备就是对于重要的服务, 使用两台服务器, 通过安装双机软件, 互相备份, 共同执行同一服务。当一台服务器出现故障时, 可以由另一台服务器承担服务任务, 从而在不需要人工干预的情况下, 自动保证系统能持续提供服务。更具体地说, 双机热备常见的形式是基于Active/Standby方式的服务器热备。两个服务器数据同时使用一个共享的存储设备, 或者不使用共享存储设备, 通过软件实时保持两台机器的同步。在同一时间内只有一台服务器保持Active状态, 另一台备份服务器 (从机) 处于监控准备状态。当其中保持Active状态的一台服务器出现故障无法启动时, 备份服务器会通过软件诊测 (一般是通过心跳诊断) 将Standby机器激活, 保证应用在短时间内完全恢复正常使用。

2 数据库镜像

数据库镜像是一个高可用性软件解决方案, 为客户端提供小于5秒故障转移。每个数据库镜像配置均包含一个主体服务器 (包含主体数据库) 、一个镜像服务器 (包含镜像数据库) 和一个见证服务器。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器的角色是相对的, 可以自动或者手动地将主体服务器设置为镜像服务器, 镜像服务器设置为主体服务器。与主体服务器和镜像服务器不同的是, 见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器, 确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器, 从而支持自动故障转移。

3 方案实施

3.1 必备条件

(1) 确保两个伙伴 (主体服务器和镜像服务器) 运行相同版本的Microsoft SQL Server 2005。两个伙伴需要运行SQL Server 2005 Standard Edition或SQL Server 2005 Enterprise Edition。

(2) 如果使用见证服务器, 则确保在其系统上安装SQL Server 2005。见证服务器可以在支持SQL Server 2005 Standard Edition, Enterprise Edition, Workgroup Edition或Express Edition的任何可靠计算机系统中运行。

(3) 验证镜像服务器能为镜像数据库提供足够的磁盘空间。

(4) 要求每个服务器实例都有一个服务器网络地址。服务器网络地址的语法格式如下:TCP://: 是明确标识目标计算机系统的字符串。是伙伴服务器实例的镜像端点所用的端口号。

3.2 创建镜像数据库

只有存在镜像数据库才能启动数据库镜像会话。镜像数据库的名称必须与主体数据库的名称相同。数据库所有者或系统管理员可以从主体数据库的最新完整备份创建镜像数据库。为使镜像正常运行, 镜像数据库必须保持RESTORING状态。因此, 将备份还原到镜像数据库时, 对于每个还原操作都必须始终使用WITH NORECOVERY。

use 数据库名

go

backup database数据库名

to disk=′c:toolsnubackup.bak′//主体数据库的最新完整备份文件备份在C盘下

go

restore database 数据库名

from disk=′c:toolsnubackup.bak′

with NORECOVERY //将备份还原到镜像数据库使用 WITH NORECOVERY

go

3.3 在每个服务器实例上设置安全性

数据库镜像可以使用两种类型的传输安全性:Windows身份验证或基于证书的身份验证。在Windows身份验证下, 每个服务器实例使用运行进程的Windows用户帐户的Windows凭据登录到另一端。因此, Windows身份验证要求SQL Server服务必须以受信任域中的域用户身份或作为网络服务运行。在某些情况下, 例如服务器实例不在受信任域中或SQL Server作为本地服务运行时, Windows身份验证不可用。在这种情况下, 对连接请求进行身份验证需要使用证书, 而不是用户凭据。每个服务器实例的镜像端点必须使用其自己的本地创建的证书进行配置。

配置服务器实例以使用证书对数据库镜像的出站连接进行身份验证

(1) 在master数据库中, 创建数据库主密钥。

CREATE MASTER KEY ENCRYPTION BY PASSWORD=‘密码’;

GO USE master;

(2) 在master数据库中, 为服务器实例创建加密证书。

CREATE CERTIFICATE MIRAcert

WITH SUBJECT=′MIRA certificate for database 数据库名′,

startdate=′01/01/2008′,

EXPIRYDATE=′01/01/2999′;

GO //创建证书MIRAcert

(3) 使用服务器实例的证书为该服务器实例创建端点。

(4) 将证书备份到文件, 并将其安全地复制到其他系统。

BACKUP CERTIFICATE MIRAcert TO FILE=′C:toolsMIRAcert.cer′;

GO

必须对每一个伙伴和见证服务器 (如果存在) 完成以上步骤。

配置服务器实例以使用证书对数据库镜像的入站连接进行身份验证

(1) 为其他系统创建登录名。

CREATE LOGIN登录名WITH PASSWORD=‘密码’;

GO

(2) 创建一个使用该登录名的用户。

CREATE USER用户FOR LOGIN登录名;

GO

(3) 获取其他服务器实例的镜像端点的证书。

(4) 将该证书与在步骤 (2) 中创建的用户相关联。

USE master;

CREATE CERTIFICATE MIRAcert

AUTHORIZATION用户

FROM FILE=′C:toolsMIRAcert.cer′

GO

(5) 授予对该镜像端点的登录名的CONNECT权限。

GRANT CONNECT ON ENDPOINT::EndpointMirroring TO[登录名];

GO

如果存在见证服务器, 还必须为见证服务器设置进站连接。这需要在两个伙伴上为见证服务器设置登录名、用户和证书, 反之亦然。

3.4 启动镜像开始热备份

镜像数据库就绪且配置了服务器实例后, 数据库所有者便可以启动数据库镜像。镜像开始后, 每当客户端更新主体数据库, 并将事务写入主体数据库的日志时, 主体服务器便会将该日志记录发送到镜像服务器。同时, 镜像服务器立即将日志记录写入磁盘。在后台, 镜像服务器从最早的日志记录开始, 尽快在镜像数据库中逐个“重做”日志记录。重做日志涉及从最早的记录开始, 将排队的日志记录按顺序应用到镜像数据库的操作。每条日志记录仅重做一次。当镜像服务器重做日志时, 镜像数据库将继续前滚。当主体服务器截断或收缩主体数据库的日志时, 镜像服务器也将在日志流的同一点收缩日志。通常, 重做可加速镜像数据库与主体数据库的同步。镜像数据库是否完全与主体数据库保持同步取决于会话的运行模式。在同步、高安全性模式下, 主体服务器等待确认新事务, 直到将这些新事务写入镜像服务器的日志磁盘为止。将累积的日志记录发送到镜像服务器之后, 镜像数据库便会与主体数据库保持同步。

4 结束语

SqlServer2005数据库镜像为故障转移群集或日志传送提供了易于管理的替代或补充。同步数据库镜像会话时, 数据库镜像提供了热备用服务器, 可支持在已提交事务不丢失数据的情况下进行快速故障转移。在一般的镜像会话期间, 如果生产服务器出现故障, 客户端应用程序可以通过重新连接到备用服务器来快速进行恢复从而实现了双机热备份功能。保证了服务器的强实时性、高可用度和服务的“不断流”。

参考文献

[1]陈卓.我国中小企业需要关注网络数据安全[J].机械管理开发, 2008, 23 (1) :100-101.

[2]李硕, 唐胜男.高性能计算机体系结构综述[J].北京工商大学学报:自然科学版, 2007, 25 (6) :48-52.

[3]旷海兰, 刘新华.高性能计算与集群系统[J].衡阳师范学院学报, 2005, 26 (6) :57-60.

[4]陈筠, 桑楠, 熊光泽.一种容错实时计算机体系结构的研究与实现[J].电子科技大学学报, 2007, 36 (5) :846-849.

[5]李佳霖, 穆晓.铁通业务受理系统的设计与实现[J].铁路信息系统, 2007, 16 (4) :17-20.

SQL2005数据库 篇10

作为计算机应用的一部分, 使用计算机对各种信息进行管理, 具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率, 也是工作的科学化、正规化管理, 与世界接轨的重要条件。

在学校学生管理工作中, 传统的手工操作, 具有费时费力, 且容易出错, 针对当前我校学生收费的管理情况, 拟开发一套学生管理系统, 以克服当前手工操作不足, 提高工作效率。

2、系统需求分析

系统主要用于管理学生的基本信息、学生学费管理、班级管理等工作, 为班主任对学生管理提供一个功能全面、使用方面和准确快速的学生管理系统, 用以代替传统的手工作业, 得以提高工作效率, 减轻班主任工作。

2.1 功能需求

(1) 要求能够查询每个学生的每个学期的交费情况, 学欠费情况、并能查询某个学期缴费明细帐、并具有打印功能。

(2) 能够为班主任进行每个学期的学生学费的清查, 并能输出明细清单。

(3) 能够方便地操作系统。

(4) 对不同类别的操作员, 要求有不同的操作权限, 并在登录系统时有密码校验。

2.2 用例模型

用例模型描述的是外部执行者所理解的系统功能, 即从用户角度描述系统功能, 并指出各功能的操作者。

通过以前分析, 可以确定本系统中的角色有班主任、学生等, 如图1所示。

(1) 班主任:具有班级和学生档案管理、学生交费管理权限, 能够管理班级信息、学生信息的录入、查询、打印等; (2) 学生:只系统具有查询的权限; (3) 教师:根所情况, 具有一定的权限; (4) 管理员:为系统的管理员, 具有超级权限, 能够管理用户、班级和学生档案、学费等权限。

3、数据库分析和设计

邵阳电大在校学生大约四五千人左右, 数据库选用Microsoft微软SQL Server 2005比较好。在本系统中, 只要采一个数据库就可以对所有数据进行存贮, 通对系统的需求分析, 本系统的数据库包括以下几个表:

3.1 操作员表 (use)

此表记录用户的相关信息, 当用户操作本系统时, 读取用户的相关信息就是从此表中读取信息的。字段结构如表1所示。

3.2 班级表 (class)

用以记录专业班级等相关信息, 字段结构如表2所示。

3.3 缴费表 (jf)

记录学生交纳学费的相关情况表。表结构如表3所示。

3.4 特殊学生表 (txxs)

因为有些学生交纳的学费会所有不同, 这个表就是用于记录这些学生所要交纳的学费等信息。表结构如表4所示。

3.5 班级学生信息表 (xj)

用于记录学生的相关信息。表结构如表5所示。

以上各个表之间并不是独立的。各表之间的关系如图2所示。

4、系统模块实现

在VB窗口的菜单上选择“工程”, 再选择弹出窗口中的“添加模块”选项。建立这个模块主要是把一些公有的函数放在此模块, 可以为系统的各个子模块调用, 使用系统程序更有可读性。这里主要包括一些数据库连接与操作函数和系统的公有变量。

4.1 公有变量

Public modi As Boolean系统权限变量0:没有操作权限, 1:具有操作权限

Public classmodi As Boolean班级管理权限变量0:没有操作权限, 1:具有操作权限

Public xuefeimodi As Boolean学费管理权限变量0:没有操作权限, 1:具有操作权限

Public find As Boolean系统查询权限0:没有操作权限, 1:具有操作权限

Public classfind As Boolean班级查询权限0:没有操作权限, 1:具有操作权限

Public xuefeifind As Boolean学费查权限0:没有操作权限, 1:具有操作权限

Public username As String操作员的用户名

Public qxstr As String权限变量

4.2 相关数据库函数及过程事件

具体有数据库执行ExecuteSql () 、数据库连接connstring () 、数据库查询Executeqx () 、

添加学生档案Private Sub add_Click () 、班级添加Private Subclassapp_Click () 、

班级浏览Private Sub classbrowse_Click () 、班级查找PrivateSub classfind_Click () 、

重新登录Private Sub denglu2_Click () 、退出系统:Private Subexit_system_Click () 、

交费浏览Private Sub jiaofeibrowse_Click () 、学生档案浏览:Private Sub liulan_Click () 等。

5、结语

通过使用Visual Basic6.0面向对象的技术, 设计了邵阳电大开放教育学生管理系统。系统运行正常, 通过进一步扩充和完善, 完全可应用于各电大分校进行学生管理。

摘要:学生管理是学校最主要的任务之一, 而学生学费管理, 又是学生管理工作重重之重, 其工作之重要, 不言而喻。本系统的重点研究也就放在学生学费管理这一块上。邵阳电大学生管理系统是典型的信息管理系统, 涉及到数据库建立以及前端应用程序的开发, 对数据库而言, 数据的一致性和完整性强, 数据安全性能要好, 对于前端应用程序, 要求做人机交互界面友好, 操作方便。本系统采用Windows系统作为开发平台, 以Microsoft公司的Microsoft Visual Basic 6.0中文版作为开发工具[1][2][3][4], Microsoft微软SQL Server 2005[5]做为系统的数据库。

关键词:数据库,需求分析,模块

参考文献

[1]陈明.Visual Basic程序设计.中央广播电视大学出版社, 2000.

[2]黄明, 梁旭.Visual Basic 6.0信息系统与开发实例.机械工业出版社, 2005.

[3]陈明.软件工程.中央广播电视大学出版社, 2001.

[4]王利.数据库基础与应用.北京:中央广播电视大学出版社, 1997.

SQL数据库的并发控制 篇11

1 数据库的并发问题

如果没有锁定且多个用户同时访问一个数据库, 则当他们的事务同时使用相同的数据时可能会发生数据不一致问题, 这就是并发问题。他包括:

1.1 丢失更新。

当两个或多个事务选择同一行, 然后基于最初选定的值更新该行时, 会发生丢失更新问题

1.2 未确认的相关性 (脏读) 。

当第二个事务选择其他事务正在更新的行时, 会发生未确认的相关性问题。

1.3 不一致的分析 (非重复读) 。

当第二个事务多次访问同一行而且每次读取不同的数据时, 会发生不一致的分析问题。

1.4 幻象读。

当对某行执行插入或删除操作, 而该行属于某个事务正在读取的行的范围时, 会发生幻象读问题。

2 SQL Server的并发处理机制

SQL Server使用锁定确保事务完整性和数据一致性。锁定可以防止用户读取正在由其他用户更改的数据, 并可以防止多个用户同时更改相同的数据。大多数情况下, 你不用关心如何为资源加锁, 使用什么类型的锁, 这些都是SQL Server自动控制的。但可以通过了解锁并在应用程序中自定义锁来设计更有效的应用程序。

2.1 锁粒度

SQL Server具有多粒度锁定, 允许一个事务锁定不同类型的资源。锁定在较小的粒度可以增加并发但需要较大的开销, 因为如果锁定了许多行, 则需要控制更多的锁。锁定在较大的粒度就开发而言是相当昂贵的, 因为锁定整个表限制了其他事务对表中任意部分进行访问, 但要求的开销较低, 因为需要维护的锁较少。

SQL Server可以锁定的资源如表1所示:

2.2 锁模式

SQL Server使用不同的锁模式锁定资源, 这些锁模式确定了并发事务访问资源的方式。SQL Server支持的锁模式如表2所示:

2.3 隔离级别

前面已经介绍了锁模式和锁资源的粒度级别, 它们可以在一定程度上控制并发。在这个基础上, 隔离级别定义了各个并发事务之间的隔离程度。SQL Server定义了四种隔离级别, 分别是未提交读、提交读、可重复读和可串行读。这四种隔离级别允许不同类型的行为, 如表3所示:

2.4 新增的快照机制

SQL Server2005中引入了一项被称为行版本控制的技术。利用该技术, 在事务修改数据之前会在tempdb数据库中存储一份具有一致性的数据副本, 这样当进程需要读取数据时, 不必请求资源上的共享锁, 可以直接从tempdb数据库的版本存储区中读取, 因此它不会与写进程发生冲突, 从而提高了并发性。

3 提高系统并发性的一些措施

通过了解SQL的并发控制机制, 我们根据减少锁、减少保持锁的时间、减少冲突的原则, 提出一些提高系统并发性的措施:

3.1 优化SQL语句的性能, 尤其是SELECT语句的性能。首先, 减少SQL语句的运行时间可以缩短该语句在资源上保持锁的时间, 从而允许更多的互斥操作。其次, 多数SELECT语句的性能问题都是因没有合适的索引, 或者即使有索引但未利用索引所导致的。通过创建合适的索引或优化SQL语句使之利用索引, 从而也就避免了在表中的所有行或整个表上保持锁。

3.2 使用尽量短的事务, 尤其是要避免在事务执行期间与用户交互。这样可以减少锁的保持时间。

3.3 在读写操作过多导致大量死锁的系统中使用快照隔离级别或已提交读快照隔离级别, 但这时要特别注意优化tempdb数据库。

3.4 如果不能使用快照, 则尽量使用较低的隔离级别。隔离级别越低, 允许的并发性越高, 反之亦然。

3.5 采用合适的RAID磁盘阵列系统。数据文件适合使用RAID10磁盘阵列, 而日志文件通常使用RAID1就足够了。另外, 因为日志是连续写入的, 把日志文件和数据文件放在同一个磁盘驱动器会推迟数据操作, 所以, 最好把日志文件放到单独的磁盘驱动器。

3.6 对大量数据使用分区表, 通过把请求均匀分布到各个分区来提高并发性。但要注意把每个分区放到不同的磁盘驱动器才能最大限度地发挥它的优化作用。

3.7 通过复制把数据库发布到多个物理的服务器, 以实现数据库级的负载均衡。

参考文献

上一篇:历史客观性下一篇:监理行业发展