SQL Server数据库体系结构(非常清晰)

服务器结构

SQL Server服务器可以看成是由实例及数据库构成。实例包括SQL Server占用的内存及后台线程。

与Oracle显著不同的是,SQL Server服务器的数据库是多个,其中包括5个系统数据库及若干个用户数据库(其中的resource数据库存储系统数据,对用户不可见)。每个数据库包括数据文件及重做日志文件,SQL Server数据库不包含控制文件。

Oracle服务器 = 一个Oracle实例+一个数据库

SQL Server服务器 = 一个SQL Server实例+多个数据库

数据库相关文件

SQL Server的数据库文件包括:

数据文件:存放数据库中的数据。

重做日志文件:存放用户对数据库的操作记录,用于实例恢复或介质恢复。

SQL Server中的数据文件

数据文件与重做日志文件的作用与Oracle对应的文件相同,只是SQL Server的重做日志文件除了包含重做数据外,还包含回滚事务所用的undo数据,Oracle的重做日志文件只包含重做数据,undo数据存储在undo表空间。

SQL Server中的“控制文件”

SQL Server没有控制文件,实例中的各个数据库文件信息存储在master系统数据库以及用户数据库的primary文件组的主数据文件中。

SQL Server中的“初始化参数文件”

SQL Server没有初始化参数文件(初始化参数文件用于保存实例启动及运行时各种参数配置),实例的配置信息保存在master系统数据库中,数据库的配置信息保存在各自数据库的primary文件组的主数据文件中。

SQL Server中的“口令文件”

Oracle中的口令文件保存sys用户及具备sysdba系统权限的用户的口令,其他用户的口令保存在数据库中,这是因为sys用户除了在数据库中拥有管理权限外,还拥有启动和关闭数据库等特殊权限,如果sys用户的口令也与其他用户的口令一样存储在数据库中,显然在数据库打开之前,就无法验证其口令的正确性。但是SQL Server没有口令文件,启动SQL Server各种服务都是由操作系统行号完成的,其口令由操作系统维护。

归档日志文件

SQL Server没有归档日志文件,Oracle归档日志的功能通过事务日志文件备份实现。

SQL Server中的错误日志

Oracle中的警告文件记录着数据库运行的信息,根据这个文件我们可以知道发生了什么内部错误,什么时候创建了表空间,什么时候把表空间或数据文件脱机、联机,数据库启动关闭等信息。出现错误时,如果不能确定原因,应该首先查看经该文件的内容,以得到解决问题的线索,警告文件从数据库创建开始一直到被删除。Oracle数据库的警告文件在SQL Server中称为错误日志(Errorlog),是实例范围的,而不是针对某个数据库的,与Oracle的警告文件类似,由SQL Server错误日志可以查看在实例运行过程中出现的错误。SQL Server的错误日志文件的位置为:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log。

注意区分这里的SQL Server错误日志与数据库重做日志文件,SQL Server错误日志时文本文件,是提供给数据库管理员用来查看服务器运行过程中的问题的,SQL Server数据库正常运行并不需要错入日志文件,而数据库的重做日志文件是数据库必须的,其目的是为了在出现故障时,恢复数据库。

服务器启动时,会创建新的错误日志文件ERRORLOG,上一次的ERRORLOG被重命名为ERRORLOG.1,ERRORLOG.1被重命名为ERRORLOG.2,依次类推,一直到ERRORLOG.5,被重命名为ERRORLOG.6,而ERRORLOG.6被删除,这样,错误日志最多保留6个备份。执行sp_cycle_errorlog系统存储过程可以自动创建新的ERROR文件并执行上述修改名称的过程,而不必重启服务器。

可以使用任何文本编辑器在操作系统上查看其内容,也可以在Management Studio中通过“管理——>SQL Server日志”查看其内容,如下图所示。

内存结构

1.内存构成

SQL Server的内存主要由两部分构成:buffer cache及其他部分。

buffer cache也称为buffer pool,是SQL Server占用内存的主要部分,其作用类似于Oracle的SGA。buffer cache中的主要部分为data cache,相当于Oracle实例SGA中的database buffer cache部分,用于存放由磁盘读取的数据,再次读取时不必从磁盘读取。一般情况下,这是buffer cache中最大的一个区域。

buffer cache中的另外一个重要部分为plan cache,用于存放编译过的执行计划,相当于Oracle实例shared pool中的library cache部分。

2.配置内存大小

与SQL Server内存分配相关的服务器参数有两个:

阅读更多

Win2003r2系统下-WAS6-WAS7-WAS8-WAS855服务器环境虚拟机下载

本博主安装与配置好的Win2003r2系统下-WAS6-WAS7-WAS8-WAS855服务器环境虚拟机下载,链接:https://pan.baidu.com/s/118ia5lrvyfIYxY6g1ZzSKQ
提取码:zsme 下载后,用Vmware Workstation打开即可以正常使用。
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
WebSphere Application Server 是该设施的基础,其他所有产品都在它之上运行。WebSphere Process Server 基于 WebSphere Application Server 和 WebSphere Enterprise Service Bus,它为面向服务的体系结构 (SOA) 的模块化应用程序提供了基础,并支持应用业务规则,以驱动支持业务流程的应用程序。高性能环境还使用 WebSphere Extended Deployment 作为其基础设施的一部分。其他 WebSphere 产品提供了广泛的其他服务。
WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。
WebSphere 是随需应变的电子商务时代的最主要的软件平台,可用于企业开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到企业级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。

IBM WebSphere Application Server 是 IBM WebSphere 软件平台的基础和面向服务的体系结构的关键构件。Version 6.1 提供了一些功能强大的新特性和增强功能,以帮助您开发和运行具有更高质量代码和更高工作效率的最佳工业强度应用程序。本概述将帮助您开始使用这个最新的版本中一些功能最强大的新特性,其主题是提高开发人员和管理员的工作效率并简化他们的日常工作。

产品打包

WebSphere Application Server V6.1 的打包结构进行了极大的简化。您将会接收到更少的 V6.1 媒体片段,因为附带的媒体专门用于所需的平台特定的图像。每种产品中还包含了平台特定的快速入门光盘。与以前相比,这些改进使得您可以更快地入门。

现在可以使用 DVD 作为一种媒体格式选择。

Installation Factory

V6.1 的安装过程保持了在 WebSphere Application Server V6.0.1 中引入的 IBM Installation Factory 的熟悉外观。Installation Factory 允许管理员构建自定义的、可重复的、预先打包的安装,包括应用程序和配置,以便实现可靠的、仅需单击鼠标的、节省时间的安装(请参见参考资料部分)。“单元即时可用的概要”允许单遍 (Single-pass) 创建单元环境(部署管理器和联合节点)。图 1 显示了使用 Installation Factory 的安装包的组成情况。

V6.1 对 Installation Factory 进行了增强以支持更节省时间的跨平台安装包。例如,基于 Linux® 计算机的仅需单击鼠标的安装包现在可以用于在 Windows® 计算机上安装 WebSphere Application Server V6.1。其他针对 Installation Factory 的更改还包括对配置信息的增强,如部署 EAR 的功能、增强的 EAR 和执行脚本。

此外,为了简化安装过程,现在可以由非 root 用户进行 WebSphere Application Server 安装。(IBM HTTP Server 现在需要 root 权限进行安装。)

Application Server Toolkit

Application Server Toolkit (AST) 为创建面向 WebSphere Application Server V6.1 的新应用程序提供了基本的支持。其中包括用于创建新的 Web 应用程序、Web 服务、Portlet、EJB 组件的各种向导和工具,以及基于注释的编程支持、新的管理工具、用于编辑 WebSphere 特定绑定和扩展的工具,等等。

V6.1 中的 AST 成为了关键的里程碑,因为它包括了 J2EE 透视图和 Web 透视图、Eclipse 3.1 和 Eclipse Web Tools Platform (WTP) Version 1.0。它本身是一个完整的 J2EE 开发环境,因此您可以使用它构造、调试并直接将新的应用程序部署到 WebSphere Application Server V6.1。

尽管完全能够开发 J2EE 应用程序,但 AST 只是 IBM Rational® 开发环境,如 Rational Software Architect 和 Rational Application Developer的子集。

IBM 的工具组合可以看作图 2 中所示的层次结构,其中每种以前的 IDE 都包含在后续的 IDE 超集中,而后者提供了更丰富的功能。

V6.1 中的 AST 在 Eclipse Web Tools Platform 的基础上提供了下列关键特性:

  • 用于 WebSphere Application Server 的服务器工具,如调试和单元测试支持。
  • 支持 WebSphere Application Server 特定扩展,如 SIP 和 Jython 工具。
  • 用于 WebSphere Application Server 属性文件和部署描述符的图形编辑器。

您应该需要它们,Rational 组合甚至提供了更多的扩展特性,其中一些关键的特性包括:

  • 建模和可视化工具。
  • 分析、验证和代码更正工具。
  • 测试和分析工具。
  • 支持多种服务器类型。

AST 被授权作为 WebSphere Application Server 的组件部分。可以对其进行无限制的复制,这使得 AST 可以用于开发面向 WebSphere Application Server V6.1 的应用程序。

本博主安装与配置好的Win2003r2系统下-WAS6-WAS7-WAS8-WAS855服务器环境虚拟机下载,链接:https://pan.baidu.com/s/118ia5lrvyfIYxY6g1ZzSKQ
提取码:zsme 下载后,用Vmware Workstation打开即可以正常使用。

IBM WebSphere Application Server 为面向服务的体系结构(Service Oriented Architecture,SOA)应用程序交付敏捷、可靠的基础,以使应用程序与业务和 IT 方面的创新保持一致。WebSphere Application Server 支持应用程序和服务的重用和创建,这些应用程序和服务可促进业务敏捷性,并对帮助企业在市场上竞争中获胜的任务关键型问题作出预测和调整。

阅读更多

windows2012 下sqlserver2012 AwaysOn 集群环境虚拟机下载

本博主配置好的windows2012 下sqlserver2012 AwaysOn 集群环境虚拟机下载,链接:https://pan.baidu.com/s/1KS5P8XFUsCj-t2rjHqO9sA
提取码:gpn3 下载后,用Vmware workstation打开 即可以使用。

SQL Server2012所支持的AlwaysOn技术集中了故障转移群集、数据库镜像和日志传送三者的优点,但又不相同。故障转移群集的单位是SQL实例,数据库镜像和日志传送的单位是单个用户数据库,而AlwaysOn支持的单位是可用性组,每个组中可以包括一个或者是多个用户数据库。也就是说,一旦发生切换,则可用性组中的所有数据组会作为一个整体进行切换。

AlwaysOn底层依然采用Windows 故障转移群集的机制进行监测和转移,因此也需要先建立Windows Cluster,只不过可用性组中的数据库不一定非要再存放在共享存储上了。可以是存储在本地磁盘上。

下面,先看一下AlwaysOn的关键特性:

1. 同故障转移群集一样,也需要一个虚拟网络名称用于客户端的统一连接。

2.一个主服务器可以最多对应四个辅助服务器,总数达到五个,而且辅助服务器支持只读功能。

3.辅助服务器可以独立执行备份和DBCC维护命令。通过配置,可以实现客户端的只读请求可以被自动定向到辅助服务器。

4.主服务器和辅助服务器之间的数据会被加密和压缩,以提高安全性和网络传输效率。

5..支持自动、手动和强制三种故障转移方式。

6.有仪表盘用于监控AlwaysOn的运行状态。

7.可以实现多站点的部署,即主站点和辅助站点可以跨物理网络。

AlwaysOn的基本架构

在Windows MSCS故障转移群集的基础上部署AlwaysOn高可用组,用户可以在群集节点上安装SQL Server单机实例,也可以安装SQL Server群集实例,AlwaysOn仅要求所有SQL Server实例都运行在同一个MSCS中,但SQL Server实例本身是不需要群集模式的,这与SQL Server2008 群集的实例完全不同。在此推荐使用单机模式的SQL Server,好处是:可用性副本是个单机实例,那么数据库副本就存放在该运行该实例节点的本地磁盘上;如果可用性副本是个群集实例,那么数据库副本就存放在共享磁盘上。

可用性组从Windows群集角度来看,就是一个群集资源,其中的所有数据库作为一个整体在节点间进行故障转移,当然这不包括系统数据库,系统数据库是不能加入高可用性组中的。

因为需要借助Windos群集实现监控和转移,所以AlwaysOn会受到一些限制:

一个可用性组中的所有可用性副本必须运行在单一的Windows群集上,跨不同Windows群集的SQL Server实例不能配置成一个AlwaysOn可用性组。

一个可用性组的所有可用性副本必须运行在Windows群集的不同节点上。运行在同一个节点上的两个不同实例不能用作同一个可用性组的副本。

如果某个可用性副本实例是一个SQL群集实例,那同一个SQL群集的其他非活跃节点上安装的任何其他SQL实例都不能作为它的辅助副本。

一个数据库只能属于一个可用性组。

AlwaysOn最多可以支持五个副本,但只有一个可用性副本上运行的数据库是处于可读写状态。这个可读写的数据库被称为主数据库(PrimaryDatabase),同时这个可用性副本被称为主副本(primaryreplica)。其余的副本都被称为辅助副本(secondaryreplica),辅助副本上的数据库可能是不可访问的,或者是只能接受只读操作(取决于可用性组的配置),这些数据库被称为辅助数据库。一但发生故障转移,任何一个辅助副本都可以成为新的主副本实例。主副本会不断地将主数据库上的数据变化发送到辅助副本,来实现副本间的数据库同步。下图就显示了一个可用性组中各副本之间的关系。

p_w_picpath

本博主配置好的windows2012 下sqlserver2012 AwaysOn 集群环境虚拟机下载,链接:https://pan.baidu.com/s/1KS5P8XFUsCj-t2rjHqO9sA
提取码:gpn3 下载后,用Vmware workstation打开 即可以使用。

阅读更多