SQL SERVER 2005 简介
一直以来,T-SQL都是容易上手的结构化查询语言,随着SQL Server的版本演进,除了内部功能增加,
T-SQL也大幅扩增了新的查询指令。例如:XQuery、取得排名顺序的函数、集合运算搭配OVER运算符、TOP运算符可以搭配变量或子查询,以及透过新增的CTE(Common Table Expression)语法完成以前难以做到的循环查询… …等等。且SQL Server2005统一了许多语法的标准,将原来需要透过系统存储过程、DBCC命令才能建置、设定或维护的功能,都回归到标准的T-SQL语法。
Transact-SQL依其功能可以分为三部分:
1、数据操作语言(Data Manipulation Language, DML):其主要语法有Select、Insert、Delete和Update。藉以查询、新增、修改和更新数据。
2、数据定义语言(Data Definition Language, DDL):其主要语法有Create、Alter和Drop。藉以建立、修改和删除SQL Server服务器端物件。
3、数据控制语言(Data Control Language, DCL):其主要语法有Grant、Deny和Revoke。藉以允许、拒绝和移除帐号角色对物件的权限。
SQL Server 2005是全新的数据库平台系统,包含多种的软件元件与服务,来满足企业对于日渐复杂的数据系统的需求。
1、关系型数据库引擎
这是SQL Server 2005处理关系型数据库的核心元件,可满足各类不同等级应用程序(小型应用程序到巨型企业的解决方案)对于数据的储存、查询与变动的需求。
功能/强化 |
说明 |
DDL Trigger |
在过去,传统的Trigger仅能捕捉对数据表的新增(Insert)、删除(Delete)、更新(Update)的事件;新增的DDL Trigger,可以捕捉到DDL指令触发,也是建立(CREATE)、修改(ALTER)、删除(DROP)等指令。对于监控数据库上的各类事件提供更多的能力。 |
数据分割(Partitioning) |
允许数据表可以按照规则将数据库存放在不同的档案群组上,不但可以提升效能,同时强化对于超大数据表的管理与维护的机制。 |
新的数据类型 |
新增几种好用的数据类型,比如Native XML数据类型:用来直接存放XML的数据之用。在nvarchar、varchar、varbinary数据类型中,搭配max关键字后,该数据行就运行存放超过8K的数据,打破过去8060 Byte的临界点限制。 |
Transact-SQL |
新增结构化错误处理的机制(例如:try与catch的语法)。提供几种自动编号、排序RANK的函数。 |
安全性 |
改良的安全性机制,增强对数据库的保护,让使用者与物件分离,新增Schema来管理,对数据库物件提供更多的控制。 |
XML |
与XML做最佳的整合,不但新增了XML数据类型,也提供了XQuery语法处理数据。 |
多重结果集(Multiple Active Result Sets,MARS) |
让你在同一个数据库连接中开启多个结果集,并且同时存取它们。 |
.NET Framework |
将.NET Framework CLR整合到SQL Server数据库引擎中,让程序设计师可以利用功能强大的.NET Framework与C#、VB.NET等熟悉的语言,建立数据库物件。 |
复写(Replication) |
简化其设定与更直觉的管理机制,并有新的事务式复写机制:peer-to-peer。提供over http方式来进行复写。此外,也强化与变动数据库的复写机制。 |
数据库维护作业 |
强化在线直接进行维护作业的能力,并提供几种功能,比如在线还原、在线维护索引等机制。 |
2、分析服务(analysis services)
分析服务(analysis services)提供了商业智能的专业平台,可以应用在OLAP、数据仓储、数据挖掘上,协助企业建立最适当的决策支持。
功能/强化 |
说明 |
使用者界面 |
提供直觉简易的管理开发工具:Business Intelligence Development Studio。 |
Analysis Services Engine |
可以在同一服务器上,安装多个Analysis Services执行个体,并新增了Trigger、Trac与本土化等功能。 |
Cubes |
在新版中的Cube,不但可以包含多个Fact Table,更提供几种新功能,比如关键效能指标(Key Performance Indicators ,KPI)与强化商业职能的决策支持的能力。 |
纬度(dimensions) |
以属性为分析基本的单位,可以有多对多(many-to-many)的关联性。 |
数据挖掘 (data mining) |
新增多种新的数据挖掘演算法,并提升效能。 |
开发 |
新增非常多的功能,比如:完全与.NET Framework整合、在Analysis Service engine中内建XML for Analysis(XMLA)、强化MDX功能、ADOMD.NET API、物件定义语言(object definition language)。 |
3、SQL Server Integration Services
为了提供数据整合更好的效率,更丰富的功能,SQL Server 2005放弃了之前相当成功;以COM规格为基础的DTS(Data Transformation Services,在SQL Server 7.0版本时推出的数据转换工具),改以.NET完全重新改写。
SSIS从核心重新开发,其中最大的变革之一是将流程管理(integration services run-time engine)与数据转换(integration services data flow engine)分成两大引擎来处理。这提供了较佳的流程控管与数据处理的细节可见度,同时增加了使用者透过撰写程序延伸SSIS的方便性。并将封装设计环境整合到 Visual Studio 2005 中,该系统开发者的经验互通一致。新版本在执行程序的流程控管、错误处理、物件设定、除错、部署、执行记录、效率…等等方面有长足的进步。
4、通知服务(Notification Services)
通知服务(Notification Services)与.NET Framework整合,可以开发出以“订阅”为基础的应用程序,即当特定事件发生时,客户端就能接收到通知。
功能/强化 |
说明 |
订阅管理物件(subscription management objects) |
提供一组订阅管理物件的API,可用于当使用者进行订阅后,得到相关的通知服务。 |
事件(event)API |
提供了4种不同的事件来源的API,可用来将各个事件的相关信息注册到系统中,包含有:Managed API、XML file API、COM API与存储过程API。 |
格式化通知以及传输 |
使用XSL来将数据转换成不同装置所需要的格式,让各个不同的装置可以正确地接收数据。传播管道(delivery channel)则可将数据的内容,转换成各个装置所使用的通讯协议传播出去。 |
5、报表服务(Reporting Services)
功能/强化 |
说明 |
报表设计 |
使用Business Intelligence Development Studio中的报表工具来建立报表。在建立报表时,可以利用设计器(query builder)定义出数据集(Data Sets),再以图形化的用户界面来托拽设计报表,可设计出表格式、矩阵式、自由格式等报表。 |
报表管理 |
报表服务(reporting services)中包含有报表管理的工具,你可以管理报表的安全性、进行爬网产生与部署报表,管理报表的历史记录等。 |
执行报表 |
报表在产生时可以发挥多个CPU同时运行的优点,提供平行执行。报表会编译成.NET 组件,以取得最佳执行效率。 |
存取报表 |
使用这可以透过IIS网站来存取报表,并且支持几种常用的格式,如HTML、PDF、XLS等,此外,报表也可以通过订阅以电子邮件方式发送给使用者。 |
6、中介服务(Service Broker)
中介服务(Service Broker)可以使用队列(Queue),以提供具有可靠性、交互性、信息为基础的方式,将数据传输给其他的软件服务。
7、Common Language Runtime(CLR)
在SQL Server 2005这个版本上,将.NET CLR与数据库引擎整合在一起,允许使用.NET的程序设计语言来开发各种数据库物件。将.NET组件(assembly)汇入数据库后,可以使用像是:CREATE ASSEMBLY强化过的CREATE PROCUDURE、CREATE TRIGGER、CREATE FUNCTION、CREATE AGGEGATE与CREATE TYPE语法,在组件中用作各类的数据库物件。
8、对HTTP的原生支持
当将SQL Server 2005安装在Windows Server 2003上时,SQL Server 2005可以直接原生支持HTTP,而不需要网站服务器(如IIS)这类的中间层,简化了利用SQL Server来操作Web Service。
9、复写(Replication)
复制与散发数据与数据库物件,由一个数据库或是一台服务器到其他目的地的技术,提供多样的选择,可以采取同步、异步等方式来确保数据的一致性。
功能/强化 |
说明 |
安全性 |
改良了复写(replication)安全性的模型,让管理者可以简易管控复写进行时的帐号与权限。 |
管理性 |
提供全新且简易的复写使用者界面、复写监视器。 |
可用性 |
可轻易变更发行集(publication)的结构。 |
可程序化 |
提供全新的程序物件模型:复写管理模型(Replication Management Object, RMO),让你可以在数据复写同步过程中,更容易设计出适合的商业逻辑。 |
交互性复写 |
允许直接由备份数据中,进行交互性复写。 |
变动数据的复写 |
当实际交互性或快照集复写时,可以使用Oracle数据库当作发行集数据来源,然后再复写到SQL Server数据库上。 |
对等性(peer-to-peer)的复写 |
数据会复写到每一台对等的服务器上。当进行数据变动时,每一台对等服务器会立刻接收到数据的变动。 |
HTTP复写 |
使用Replication over HTTP或是HTTPS方式,轻易通过防火墙的限制。这种机制是将数据采用XML格式,复写到订阅者与IIS端;在IIS与发行者端则是采用二进制格式(binary format) over TCP/IP的方式,来进行复写。 |