SQL Server 2005 的新增功能

SQL Server 2005 的新增功能

 

Microsoft SQL Server 2005 扩展了 SQL Server 2000 的性能、可靠性、可用性、可编程性和易用性。SQL Server 2005 包含了多项新功能,这使它成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。

下列主题讨论了 SQL Server 2005 组件中的新功能。

主题 说明

Notification Services 增强功能

Notification Services 是一种新平台,用于生成发送并接收通知的高伸缩性应用程序。Notification Services 可以使用各种设备向大量订阅方及时发送个性化消息。

Reporting Services 增强功能

Reporting Services 是一种基于服务器的新型报表平台,它支持报表创作、分发、管理和最终用户访问。

新增的 Service Broker

Service Broker 是一种新技术,用于生成安全、可靠和可伸缩的数据库密集型应用程序。Service Broker 提供应用程序用以传递请求和响应的消息队列。

数据库引擎增强功能

数据库引擎引入了新的可编程性增强功能(如与 Microsoft .NET Framework 的集成和 Transact-SQL 的增强功能)、新 XML 功能和新数据类型。 它还包括对数据库的可伸缩性和可用性的改进。

数据访问接口方面的增强功能

SQL Server 2005 在用于访问 SQL Server 数据库中数据的编程接口方面进行了改进。 例如,SQL Native Client 是一种全新的数据访问技术,并且 .NET Framework Data Provider for SQL Server(也称为 SqlClient)也得到增强。

Analysis Services 的增强功能 (SSAS)

Analysis Services 引入了新管理工具、集成开发环境以及与 .NET Framework 的集成。 许多新功能扩展了 Analysis Services 的数据挖掘和分析功能。

Integration Services 的增强功能

Integration Services 引入了新的可扩展体系结构和新设计器,这种设计器将作业流从数据流中分离出来并且提供了一套丰富的控制流语义。Integration Services 还对包的管理和部署进行了改进,同时提供了多项新打包的任务和转换。

全文搜索增强功能

此部分介绍对全文搜索的可编程性进行的增强。 这些增强包括:用于全文搜索的数据定义语言、在查询中指定默认语言以外的其他语言的能力以及管理方面的一些增强(例如并行安装、恢复全文目录以及附加和分离全文目录)。

复制增强

复制在可管理性、可用性、可编程性、移动性、可伸缩性和性能方面提供了改进。

工具和实用工具增强功能

SQL Server 2005 引入了管理和开发工具的集成套件,改进了对大规模 SQL Server 系统的易用性、可管理性和操作支持。


1. TOP 表达式
SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。

--前n名的订单
declare @n int 
set @n = 10 
select TOP(@n) * from Orders
2. 分页
不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。
select * from
   
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders 
) a 
where row between 20 and 30

3. 排名
select * from
   
select OrderId, Freight, RANK() OVER(order by Freight) as rank from Orders 
) a 
where rank between 20 and 30

4. try ... catch
SQL Server 2000没有异常,T-SQL必须逐行检查错误代码,对于习惯了try catch程序员,2005是不是更加亲切:
SET XACT_ABORT ON  -- 打开 try功能
BEGIN TRY 
   
begin tran 
       
insert into Orders(CustomerId) values(-1
   
commit tran 
   
print 'commited' 
END TRY 
BEGIN
 CATCH 
   
rollback    
   
print 'rolled back' 
END CATCH

5. 通用表达式CTE
通过表达式可免除你过去创建临时表的麻烦。 --例子:结合通用表达式进行分页
WITH OrderFreight AS
   
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders 

select OrderId, Freight from OrderFreight where row between 10 and 20
6. 直接发布Web Service
这个比较酷,.NET, IIS都不需要了,通过Windows 2003的HTTP Protocol Stack直接发布WebService,用这个功能需要Windows 2003 sp1
--DataSet CustOrdersOrders(string customerID)
CREATE ENDPOINT Orders_Endpoint 
state
=started 
as http( 
    path
='/sql/orders'
    AUTHENTICATION
=(INTEGRATED), 
    ports
=(clear) 

for soap( 
    WebMethod
'CustOrdersOrders'(   
        name
='Northwind.dbo.CustOrdersOrders' 
    ), 
    
    wsdl
=default
   
database='Northwind'
    namespace
='http://mysite.org/' 
)
 
posted @ 2008-10-16 11:35  grantvip  阅读(281)  评论(0编辑  收藏  举报