MS SQL Server关系型数据库管理系统

1 MS SQL Server

关系型数据库管理系统

胡经国

本文作者的话

本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢!

下面是正文

一、概述

Microsoft SQL Server(MS SQL Server)是Microsoft 公司推出的关系型数据库管理系统。它具有使用方便、可伸缩性好与相关软件集成程度高等优点;可以跨越从电脑到服务器等多种平台使用。

Microsoft SQL Server是一个全面的数据库平台,使用集成的商业智能(BI)工具,提供了企业级的数据管理。它的数据引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQL(Structured Query Language)为结构化查询语言。SQL Server最早出现在1988年。当时,只能在OS/2操作系统上运行。2000年12月,微软发布了SQL Server 2000,该软件可以运行于Windows NT/2000/XP等多种操作系统之上,是支持客户机/服务器结构的数据库管理系统。它可以帮助各种规模的企业管理数据。

随着用户群的不断增大,SQL Server在易用性、可靠性、可收缩性、支持数据仓库、系统集成等方面日趋完美。特别是SQL Server的数据库搜索引擎,可以在绝大多数的操作系统之上运行,并针对海量数据的查询进行了优化。目前,SQL Server已经成为应用最广泛的数据库管理系统产品之一。由于使用SQL Server不但要掌握SQL Server的操作,而且还要能熟练掌握Windows

NT/2000 Server的运行机制,以及SQL语言,因而对非专业人员的学习和使用有一定的难度。

二、若干版本简介

1、SQL Server

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

Server在UNIX 操作系统上的应用。

2、SQL Server 2000

SQL Server 2000是Microsoft 公司推出的SQL Server关系型数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。它具有使用方便、可伸缩性好与相关软件集成程度高等优点,可跨越从电脑到服务器等多种平台使用。

3、SQL Server 2005

SQL Server 2005 是一个全面的关系型数据库管理系统,使用集成的商业智能(BI)工具,提供企业级的数据管理。它的数据引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQL Server 2005的数据引擎是企业数据管理解决方案的核心。此外 SQL

Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI 解决方案,帮助您的团队通过记分卡、Dashboard(苹果公司Mac OS X v10.4 Tiger 操作系统中的一个应用程序)、Web services 和移动设备,将数据应用推向业务的各个领域。

链接:平衡计分卡

平衡计分卡(Balanced Score Card,BSC),是根据企业组织的战略要求而精心设计的指标体系。按照卡普兰和诺顿的观点,“平衡计分卡是一种绩效管理的工具。它将企业战略目标逐层分解转化为各种具体的相互平衡的绩效考核指标体系,并对这些指标的实现状况进行不同时段的考核,从而为企业战略目标的完成建立起可靠的执行基础”。

链接:Web Service

Web Service(直译:Web服务)是基于网络的、分布式的模块化组件。Web

Services可以使您的应用程序成为 Web应用程序。

链接:Web应用程序

应用程序有两种模式:C/S和B/S。C/S是客户机/服务器应用程序,也就是说这类程序一般独立运行。而B/S则是浏览器/服务器应用程序,这类应用程序一般借助IE等浏览器来运行。Web应用程序一般都是B/S模式。

Web应用程序首先是“应用程序”;它和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而,Web应用程序又有自己独特的地方;就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典 3 型的浏览器/服务器模式的产物。

一个Web应用程序,是由完成特定任务的各种Web组件(Web Components)构成的,并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet(Servlet是在服务器上运行的小程序)、JSP(Java Server Pages,java服务器页面)、HTML文件以及图像文件等组成。所有这些组件相互协调,为用户提供一组完整的服务。

与 Microsoft Visual Studio(VS,微软的开发工具包系列产品)、Microsoft

Office System以及新的开发工具包(包括Business Intelligence Development

Studio,商业智能开发工具集)的紧密集成,使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。

4、SQL Server 2008

SQL Server 2008是一个重大的产品版本。它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。

三、新功能

1、SQL Server 2008的特点

SQL Server 2008这个平台有以下特点:

可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行最关键任务的应用程序。

高效的——使得公司可以降低开发和管理数据基础设施的时间和成本。

智能的——提供了一个全面的平台,可以在公司的用户需要的时候给用户发送观察和信息。

2、SQL Server 2008的安全性扩展

在“可信任的”的方面,保护你的信息在过去的SQL Server 2005的基础之上,SQL Server 2008做了以下几个方面的增强来扩展它的安全性:

⑴、简单的数据加密

SQL Server 2008可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序。进行加密使公司可以满足遵守规范和关注数据隐私的要求。简单的数据加密的好处,包括:使用任何范围或模糊查询搜索加密的数据,加强数据安全性以防止未授权的用户访问,还有数据加密。这些可以在不改变已有应用程序的情况下进行。

⑵、外键管理

SQL Server 2008为加密和密钥管理提供了一个全面的解决方案。为了满足不断发展的对数据中心的信息的更强安全性需求,公司投资给供应商来管理公司内的安全密钥。SQL Server 2008通过支持第三方密钥管理和硬件安全模块(HSM)产品,为这个需求提供很好的支持。 4 ⑶、增强审查

SQL Server 2008使你可以审查你的数据操作,从而提高遵从性和安全性。审查不只包括对数据修改的所有信息,还包括关于什么时候对数据进行读取的信息。SQL Server 2008具有像服务器中加强审查的配置和管理这样的功能,这使得公司可以满足各种规范需求。SQL Server 2008还可以定义每一个数据库的审查规范,所以审查配置可以为每一个数据库作单独的制定。为指定对象作审查配置,使审查的执行性能更好,配置的灵活性也更高。

⑷、确保业务可持续性

改进了数据库镜像。SQL Server 2008基于SQL Server 2005,并提供了更可靠的加强数据库镜像的平台。新的特性包括:

①、页面自动修复

SQL Server 2008通过请求获得一个从镜像合作机器上得到的出错页面的重新拷贝,使主要的和镜像的计算机可以透明地修复数据页面上的823和824错误。

②、提高性能

SQL Server 2008压缩了输出的日志流,以便使数据库镜像所要求的网络带宽达到最小。

链接:数据库镜像

数据库镜像(Database Mirror,DBM),是数据库管理系统(DBMS)根据数据库管理员(Database Administrator,DBA)的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上;每当主数据库更新时,DBMS会自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。

为了避免介质故障影响数据库的可用性,许多DBMS都可以提供数据库镜像和复制功能。它不同于数据转储,一般由DBMS按DBA的要求自动完成。

2016年12月22日编写于重庆

2019年3月29日修改于重庆

合集下载

SQL Server数据库技术

SQL Server数据库技术

SQL Server数据库技术

数据库是软件开发人员必须掌握的一门技术,在信息网络技术突飞猛进的今天,数据对于人们生活和工作的重要性可想而知,如何合理安全的管理各种数据信息,对于软件IT行业的发展起到了至关重要的作用。

1.数据、数据库、数据管理系统基本概念: 数据:人类有用信息的符号化表示。

数据库:按照数据结构来组织、存储和管理数据的一个仓库。

数据库管理系统(DBMS):可维护、存储并为应用系统提供数据的软件系统(软件+数据库+数据管理员)。

可以客观描述的事物被称为“实体”,不同的数据体现了不同的实体。数据每一行(Row)对应一个实体,被称为“记录(record)”,每个输入项称为“列”(Column),如编号,姓名,学号等。数据“表”是实体的集合,用于存储具体的数据。 “数据库”是“表”的集合。 “关系”也是数据库重要的一部分(从关系表达式到键、类型、规则、权限、约束、触发器等抽象概念来表达)。

数据库发展史:

・萌芽阶段――文件系统:提供简单数据共享和管理,类似于Winxp的资源管理器。

・初级阶段――第一代数据库:层次模型与网状模型数据库系统(如IMS信息管理系统) ・中级阶段――第二代数据库:关系数据库(如IBM的DB2,Oracle),使用结构化查询语言SQL作为数据库定义语言DDL和数据库操作语言DML。(目前依然是商务应用领域的天下)

・高级阶段――新一代数据库:如关系-对象型数据库系统,但像不同的方向上变迁以适应数据库厂商的各种需要。

2.常用数据库类型: ・层次结构模型:IMS

・网状结构模型:DBTG(Data Base Task Group)

・关系结构模型:二维表格形式(字段记录)

3.常用数据库产品

SQL Server(Microsoft)、Oracle(Oracle甲骨文)、DB2(IBM)、MySQL(Sun) 、Access(MS Office)。 目前Intenet流行网站架构方式:LAMP(Linux + Apache + MySQL + PHP)。(MySQL开源软件,成本低)

sqlserver表备注查询语句

sqlserver表备注查询语句

sqlserver表备注查询语句

SQL Server是一种关系型数据库管理系统,用于存储和管理数据。在SQL Server中,表是存储数据的基本单位,每个表都可以有一些备注信息,用于描述该表的含义、结构、约束等。本文将列举10个以SQL Server表备注查询语句为题的例子,以帮助读者更好地理解和应用这一功能。

1. 查询所有表的备注信息

```sql

SELECT

AS '表名',

ep.value AS '备注信息'

FROM

sys.tables t

LEFT JOIN

sys.extended_properties ep ON t.object_id = ep.major_id

AND = 'MS_Description'

```

这个查询语句使用了`sys.tables`系统视图和`sys.extended_properties`系统视图来获取所有表的名称和对应的备注信息。其中,`sys.extended_properties`系统视图存储了扩展属性的相关信息,通过`object_id`和`major_id`字段与`sys.tables`系统视图进行关联。

2. 查询指定表的备注信息

```sql

SELECT

AS '表名',

ep.value AS '备注信息'

FROM

sys.tables t

LEFT JOIN

sys.extended_properties ep ON t.object_id = ep.major_id

AND = 'MS_Description'

WHERE

= '表名'

```

这个查询语句在查询所有表的备注信息的基础上,通过添加`WHERE`子句来指定查询某个具体的表。将`'表名'`替换为实际的表名即可。

3. 查询所有表的备注信息和列的备注信息

```sql

双机热备配置MS SQLSERVER方法

双机热备配置MS SQLSERVER方法

第1页 双机热备配置MS SQLSERVER方法

第2页 目录 第一章 安装篇 ......................................................................................................................... 4 (一)、 安装环境要求 ..................................................................................................... 4 1)、 操作系统要求 ....................................................................................................... 4 2)、 服务器配置要求 ................................................................................................... 4 3)、 共享存储 ............................................................................................................... 4 4)、 软件准备 ............................................................................................................... 4 (二)、 安装前的准备 ..................................................................................................... 5 第二章 基本配置篇 ................................................................................................................. 6 (一)、 向导建立基本配置 ............................................................................................. 6 1)、 创建群集,设置群集基本参数。 ....................................................................... 6 2)、 加入群集的节点 ................................................................................................... 6 3)、 配置网卡信息 ....................................................................................................... 7 4)、 配置心跳IP ........................................................................................................... 7 5)、 创建资源组,设置资源组的参数 ....................................................................... 8 6)、 基本配置完成后的界面。 ................................................................................... 8 7)、 注册License。 ...................................................................................................... 8 (二)、 手动修改基本配置 ............................................................................................. 9 1)、 网卡配置的修改 ................................................................................................... 9 2)、 心跳配置的修改 ................................................................................................. 10 3)、 资源组配置的修改 ............................................................................................. 11 第三章 MSSQLSERVER 配置实例 ......................................................................................... 13 1)、 配置前的检测 ..................................................................................................... 13 2)、 安装MSSQLSERVER ............................................................................................ 13 3)、 配置前的检测 ..................................................................................................... 14 4)、 基本配置 ............................................................................................................. 14 5)、 配置IP资源 ........................................................................................................ 14 6)、 配置网络名资源 ................................................................................................. 15

SQL试卷

SQL试卷

SQL Server 2000试卷

一.选择题(每题2分,共30分)

1.SQL Server 2000是一个( )关系型数据库管理系统。

A.B/S B.C/S C.D/S D.E/S

2.下面关于实例名称的说明错误的是( )。

A. 实例名称区分大小写

B. 实例名称不能是Default或MSSQLServer

C. 实例名必须遵从SQL Server标识符规则且不能为保留关键字

D. 必须将实例名限制为16个字符

3.SQL Server 2000的核心管理工具是( )。

A.服务管理器 B.企业管理器

C.SQL查询分析器 D.osql实用工具

4.下面关于SQL Server服务器组的说明错误的是( )。

A.可以在SQL Server企业管理器内创建服务器组

B.默认的SQL Server服务器组的名称为“SQL Server组”

C.用户可以创建新的SQL Server组

D.不能为“SQL Server组”创建子服务器组

5.在注册SQL Server服务器时,以下选项中不是必须指定的是( )。

A.服务器的名称 B.身份验证模式

C.登录名和密码 D.注册服务器所在服务器组的名称

6.下列( )方式不能启动和停止SQL Server服务。

A.服务管理器 B.企业管理器 C.服务器网络实用工具 D.命令方式

7.在“SQL Server属性(配置)”对话框中,可以看到SQL Server的( )信息。

A.产品 B.状态 C.连接 D.用户

8.在Windows服务中,SQL Server的服务名为( )。

A.SQL Server B.MSSQLSERVER C.Microsoft SQL Server D.SQLSvr

SQL Server考题

SQL Server考题

第一章

1、SQL server2000是一个(B)关系型数据库管理系统

A、B/S

B、C/S

C、D/S

D、E/S

2、下面关于实例名称的说明错误的是(A)

A、实例名称区分大小写

B、实例名称不能是default或mssqlserver

C、实例名必须遵从SQL server标识符规则且不能为保留关键字

D、必须将实例名限制为16个字符

3、SQL server2000的核心管理工具是(B)

A、服务管理器

B、企业管理器

C、SQL查询分析器

D、osql实用工具

4、SQL server2000的C/S体系结构可以采用灵活的部署方案,包括桌面系统、二层结构和三层结构。

5、SQL server2000包括企业版、标准版、个人版、开发版、评估版等版本。

6、执行SELECT@@SERVERNAME命令可以查询数据库服务器的名称。

7、简述客户机/服务器二层结构的工作原理

在二层结构系统中,SQL Server 2000被安装在数据库服务器上,客户端程序可以安装在网络中的多台计算机上。客户端程序可以通过网络连接直接访问数据库服务器,发送数据库访问请求;服务器接收到请求后,执行数据库访问操作,将执行结果返回到客户端程序;最后客户端程序将查询结果显示到用户界面上。

8、简述客户机/服务器三层结构的工作原理

在三层结构系统中,客户端程序并不直接与数据库服务器打交道,它甚至可以不知道数据库服务器的存在,也不需要了解数据库结构。当需要获取服务器中的数据时,客户端程序向应用服务器发送业务请求(注意,不是数据库访问请求),应用服务器对接收到的业务请求进行解析,将其转换为数据库访问语句,然后访问数据库服务器,执行SQL语句,获取查询结果;数据库服务器将结果返回到应用服务器,应用服务器再将此结果转换为客户端程序需要的业务数据,再发送到客户端程序;最后,客户端程序将接收到的应用服务器。

9、参照1.4.2小节练习安装SQL server2000服务器

常用数据库有那几个?区别是什么?

常用数据库有那几个?区别是什么?

常用数据库有那几个?区别是什么?

对于web开发人员来说,数据库是除了程序之外最重要的一部分了。而每个站点的数据信息都需要依靠数据库才能存在。而其庞大的

系统以及功能不容小觑。而我们说得出来的数据库也有很多,那么常见的数据库又有哪些呢?对网站建设略知一二的朋友都知道,MYSQL、ACCESS、MSSQL和Oracle是现在的数据库应用中最常

见的四类,下面就一一为你做详细介绍。

四种常用数据库:

1)MYSQL: MySQL是由MySQL AB开发、发布和支持,是一个快速的、多

线程、多用户和健壮的SQL数据库服务器,是目前最受欢迎的开源SQL数据库管理系统。MySQL AB是一家基于MySQL开发人员的

商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方

法论的第二代开源公司。MySQL是MySQL AB的注册商标。MySQLMySQL服务器支持关键任务、重负载生产系统的使用,也可

以将它嵌入到一个大配置(mass- deployed)的软件中去。 2)ACCESS:

ACCESS是系统自带的一种关系式数据库,与空间共存不需要单独开设。关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。Access数据库以文件形式保存,文件的

扩展名是MDB,作为开发网站常用的数据库,Access数据库一般搭配ASP程序使用。当数据库过大的时候可以转换为MSSQL数据库

使用,二者可以进行转换。 3)MSSQL:

SQL Server也是微软公司出品的,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

MSSQL特点:数据承载量比较大,存储数据速度快,稳定性强,适用于中小型企业开发网站和办公系统常用的数据库。

4)Oracle:

Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。Oracle的软件可运

SQLServer数据库技术复习

SQLServer数据库技术复习

1.SQL Server 2000是⼀个(关系型)的数据库系统。

2.DTS 是⼀个简称,它的全称是(数据传输服务)。

3. SQL Server 2000 采⽤的⾝份验证模式有(Windows⾝份验证模式和混合模式)。

4.SQL 语⾔按照⽤途可以分为三类,是( DML 、DCL 、 DDL)

5. 在SELECT语句的WHERE⼦句的条件表达式中,可以匹配0个到多个字符的通配符是(% )

6. master 数据库记录了SQL Server 2000的所有系统信息

7. 以下那种类型能作为变量的数据类型( C)。

(A)text (B)ntext (C)table (D)image8. 下⾯不属于数据定义功能的SQL语句是:(C )

A.CREATE TABLE

B.CREATE DATABASE

C.UPDATE

D.ALTER TABLE

9. 如果希望完全安装SQL Server,则应选择(典型安装)。

10. 打开要执⾏操作的数据库,应该⽤USE SQL命令?

1、下⾯仅存在于服务器端的组件是:( A)

A、服务管理器

B、企业管理器组件

C、查询分析器组件

D、导⼊导出组件

2、下⾯描述错误的是( B)。

A、每个数据⽂件中有且只有⼀个主数据⽂件。

B、⽇志⽂件可以存在于任意⽂件组中。

C、主数据⽂件默认为 primary⽂件组。?

D、⽂件组是为了更好的实现数据库⽂件组织。

3、SQL Server 2000 企业版可以安装在操作系统上。 (Microsoft Windows 2000 Server )

4、下⾯字符串能与通配符表达式[ABC]_a进⾏匹配的是:( C)。

A、BCDEF

B、A_BCD

C、ABa

D、A%a

5、下⾯是合法的smallint数据类型数据的是:(C)。

A、223.5

B、32768C、-32767

D、58345

6、SQL Server 2000中的数据以页为基本存储单位,页的⼤⼩为( 8KB )。

严树超_全程图解Microsoft SQL Server 数据库安装教程

Microsoft SQL Server 数据库安装教程

Microsoft SQL Server 是什么?

Microsoft SQL Server是利用计算机存储和管理数据的一个软件。存储的数据可以是数值、字符、文字、日期、图片、音频、视频。是架网站和部署软件服务端必不可少的一个软件。例如我们访问网站和打开软件时的登录操作就必须要有数据库的参与,我们的用户名和密码都是以字符的形式存储在数据库里的。用户在登录之前必须通过注册操作把用户的账号名和密码放到数据库里,数据库中有了这个账号名和密码点击登录按钮后才能登录成功。

如何安装Microsoft SQL Server?

第一步:选择版本

SQL Server 目前有 SQL Server 2000 、SQL Server 2005、SQL Server 2008、SQL

Server2012、SQL Server 2014和SQL Server 2016。我们推荐安装SQL Server 2008。

目前已知的SQL Server 2008的版本有: 企业版、标准版、工作组版、Web版、开发者版、Express版、Compact 3.5版七个版本。

七个版本的具体含义:

1. SQL Server 2008企业版

SQL Server 2008企业版是一个全面的数据管理和业务智能平台,为关键业务应用提供了企业级的可扩展性、数据仓库、安全、高级分析和报表支持。这一版本将为你提供更加坚固的服务器和执行大规模在线事务处理。这个是最牛B的版本。

2. SQL Server 2008标准版

SQL Server 2008标准版是一个完整的数据管理和业务智能平台,为部门级应用提供了最佳的易用性和可管理特性。

3. SQL Server 2008工作组版

SQL Server 2008工作组版是一个值得信赖的数据管理和报表平台,用以实现安全的发布、远程同步和对运行分支应用的管理能力。 这一版本拥有核心的数据库特性,可以很容易地升级到标准版或企业版。

SqlServer(MSSQLSERVER)服务无法启动

SqlServer(MSSQLSERVER)服务⽆法启动

北京的冬天特别⼲燥,⼤清早的⼀同事就和服务器擦出了爱的⽕花,结果没想到竟导致服务器⽆法开机了,这可尴尬了,代码可都在服务器上托管着呢,⼀会还等着上线呢,必须得修啊。他们说是主板坏了,就另外找了⼀台电脑,直接把服务器的硬盘和内存换了过去(系统什么的都在硬盘上⾯),第⼀次见这么修电脑的,没想到开机竟然直接能使,真是神奇啊!经过测试意外的发现数据库⽆法链接,⼀看是MSSQLSERVER服务未启动,可是启动服务的时候竟然出错了,昨天晚上还⽤的好好的,真是奇怪了!

下⾯是错误提⽰信息:

请求失败或服务未及时响应。有关详细信息,请参见事件⽇志或其他适⽤的错误⽇志。

接下来就是各种百度⾕歌博客园,皇天不负有⼼⼈,终于让我找到了了解决办法。

SQL Server不能启动的常见故障,引⽤⾃中EduKit的评论:

⼀、是否修改了操作系统密码?

修改操作系统密码,导致SQL不能启动的解决办法:

1.我的电脑--控制⾯板--管理⼯具--服务--右键MSSQLSERVER--属性--登陆--登陆⾝份--选择"本地系统帐户"

或者:

2.我的电脑--控制⾯板--管理⼯具--服务--右键MSSQLSERVER--属性--登陆--登陆⾝份--选择"此帐户"--密码和确认密码框中输⼊你修改后的Administrator密码。

我们服务器的系统是 Windows Server 2008 R2 Enterprise,所以对应的是:我的电脑--控制⾯板--系统和安全--管理⼯具--服务--右键MSSQLSERVER--属性--登陆--登陆⾝份--选择上⾯两种任意⼀种⽅式。 

两者的区别:

选择第⼀种⽅式,以后修改了Administrator密码,不⽤再调整(但要求登陆操作系统的是系统管理员)。

选择第⼆种⽅式,以后修改了Administrator密码,还要再重复做上⾯的操作。

关系型数据库应用的性能优化——基于SQL Server平台

调试过程中的优化 此阶段的工作比较集中于数据库物理优化及系统资源的 优化,也是系统应用性能优化最关键的一步。 优化要点:需要从各方面综合考虑一个平衡的优化方 案,尤其是资源投入和产出。 ・SQL优化:和开发过程中类似,这一优化注重SQL 指令对数据库及系统资源的使用,例如对索引的使 用、CPU ̄j耗、I/O是否合理。优化的侧重点在整个系 统应用的层面,而不是单一功能,所以往往需要更全 面地考虑优化方案取舍选择。以下简单介绍一些在线 事务系统应用常用的的一些调试工作:检查是否有存 储过程的重新编译现象;检查耗时超过1秒的指令;检 查前1O大I,O消耗的指令语句;检查合理的索引使用, 避免大表扫描或索引扫描;检查是否需要覆盖索引; 检查前1 0大CPU资源消耗的指令语句。 ・系统等待(WAITS):SQL Se rve r中有一个 “WAIT”的概念,即对不同资源的等待。SQL Server 核心引擎中的一个重要部分SQLOS,就是针对线程、 CPU和内存管理开发的一个底层组件。任何一个参与 SQL Server运行的CPU都在SQLOS模块中有一个相 对应的运行线程管理机制。当运行机制上正在处理的 工作需要等待某些资源时候,就会产生等待。资源等 待的分析结果,可以帮助我们以最有效的方式来提高 系统的性能,帮助我们做出合理的优化方案取舍的选 择。系统资源的瓶颈主要发生在CPU、I/O、内存和网 络资源。通过对等待信息(V\ lTS S)的分析,结 合其他资源,可以帮助我们确定优化工作的方向。 SQL Se rve r 2005及以后版本,可以通过 动态管理视图(DMV)获取包括WAITSTATS的 很多信息,例如sys.dm os wait stats。DPCC SQLPERF(WAITSTATS)指令也可帮助我们获取这方 面的经验。通常我们会做进一步的计算,将每一个等待 项的w alt_time—ms计算出在所有等待项总值中的百分 比,然后主要考虑占比重较大的等待项为优化的重点。 后期运维中的优化 运维中的优化,相对注重对系统资源的监控和瓶颈的消 除。优化的选择也比较侧重于系统资源的分配、调试、设定 和再投入。 优化要点:优化主要基于对四大系统资源的监控: CPU、内存、I/O和网络。下面简单介绍前三项的一些监控 优化要点。 ・CPU资源消耗及瓶颈:首先监控cPu的使用率。 其次需要注意的是并发度:监控系统等待中的CX. PACKET等待项。如果此项等待非常明显,则降低并 发度可以帮助提高CPU的使用效率。 ・数据库l,o:Windows附带的性能检测器(Perfor— mance Monitor)中的物理、逻辑硬盘是很重要的监 测指标。我们通常比较关注的是:每个实际硬盘的等 待队列数(每个磁盘阵列中的实际硬盘)不超过2;每 次读写的等待时间。SQL Server内部的virtua eslats 可以提供更深层的细节。通过简单查询,可以提供每 个数据库、数据文件级别自数据库服务启动后的累积 I/O信息。日志文件的写需要很高的性能,建议不超过 5ms,一般数据文件的写建议不超过15ms。以此为依 据,结合硬盘性能监测的结果,可以对数据系统的应 用压力会有一个很好的了解。 ・系统内存:数据库的缓存是主要使用内存的组件。 而对数据库内存使用上限的设定,要考虑到工作线程 所占的内存、数据库连接以及其他应用,并不会造成 溢出到Pagefile。监控可以主要通过视窗的性能监测 器:Paging使用应为零,如果每秒都有Paging,则需 要找到造成内存使用溢出的原因。如果是SQL Server 造成,则需要减低内存上限的设定;SQL Server Buf- fer Manager:Average Page Life Expectancy——SQL Server内部缓存数据页的存在时间,数值为毫秒。建 议最少存在于系统中5分钟。如果监测图形线中有突然 下降的现象,可能有大批量数据处理的工作,例如批 量数据导人,或大表的全表或全索引扫描,都是需要 注意的地方;Memory Grants Pending——正在等待 缓存的工作数,也是显示内存压力的一个指标。 工具及技术:除了视窗性能监测器、SQL Server内部的动 态管理视图、DBCC及其他的功能视图,SQL Server 2008 R2包含了数据库性能数据采集和数据仓库的解决方案。该技 术可以帮助我们做历史性的负载性能比较,也可以提供对数 据库系统性能异常的预警和缝隙。 结论 以上是对系统应用性能优化的一个简单介绍,希望给 读者有一些启发和帮助。优化的手段和每个人的习惯都会不 同,但是注重投入和产出,以及不同阶段的侧重点,就可以 按部就班的做好性能优化。..言I ■ 作者简介: 殷皓(Howard Yin),微软的SQL serv产品开发事业部客户咨询组的首席部门经理,在数据库行业有18年的经验。在加入9L sen 开发团队之前.就职于微软美国客户咨询 务作为资深顾问在“卓越中心”成员以及美东区.在五年时间内与跨不同行业许多财富50a强公司进行过合作。供职于微软前,曾参与纽约地区多名金融和制药企业的数据 库项目管理和开发,时间长达8年之久。 2O10 O6 

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档