SQL 2008如何引诱我们升级?(二)

 
   | |

导读:在数据备份方面,SQL Server 2008提供了备份压缩功能。另外,在SQL Server 2008中,有一个新的MERGE语句。SQL Server开发者在编写修改表的存储过程时……

关键词:SQL Server 2008 SQL Server数据库 Merge语句

正在加载数据...

  强大的备份功能

  在数据备份方面,SQL Server 2008提供了备份压缩功能。和使用数据压缩所不同的是,我强烈推荐大家使用这个备份压缩功能。节省存储数据的硬盘空间固然非常伟大,但是让单独备份的数据库文件体积更小则更美妙。你是否有过需要把一个大数据库文件从一个服务器拷贝到另一个服务器的经历?或许你现在正在进行一个备份数据库文件的复制,或者搭建一个测试环境,或者是在服务器挂了后进行数据恢复,这时候你或许在为通过网络拷贝一个500G大小的数据库文件而发愁。最简单的一个常识是,拷贝的文件体积越小,拷贝完成的速度就越快。在此之前,你或会通过将这个数据库文件压缩成zip文件,使其体积更小,更便于携带。而现在,通过备份压缩功能,你就可以节省备份数据库文件的体积。

  要想使用备份压缩功能,你只需要简单的在BACKUP DATABASE语句后简单的加上一个WITH COMPRESSION选项即可,如下例所示:


BACKUP DATABASE Adventureworks2008
TO DISK = 'D:\Backup\AdventureWorks.bak'  
WITH COMPRESSION 

  如果你想知道这个备份压缩功能究竟可以为你节省多少空间,这儿有一个例子。在不使用备份压缩功能的情况下,我对一个965MB的数据库进行了备份,得到了一个大小为636MB的备份数据库文件。但是如果使用了压缩功能,相同的数据库所得到的备份文件大小只有147MB。不同数据库的压缩比率可能会有所不同,但是正如上面例子所示,你总可以获得比较大的压缩效果。

  学会使用Merge语句

  在SQL Server 2008中,有一个新的MERGE语句让我有一点点激动。SQL Server开发者在编写修改表的存储过程时,会非常喜欢这个新的T-SQL语法。使用“IF-THEN”来决定一个数据行是否需要被插入、更新或删除的时代已经过去了。MERGE让我们可以一次搞定所有的逻辑和修改。而且,你可以一次就能搞定整个数据集的对比,不用再逐行进行对比。以下是使用MERGE语句的一个例子:


MERGE tbl_address AS current_addresses
USING ( 
SELECT customer_objid = address_label, 
addressline1, addressline2, city, region, country, zip
code, is_deleted 
FROM @addresses)
AS 
source_addresses(address_label, addressline1, 
addressline2, city, region, country, zipcode, 
is_deleted) 
ON 

current_addresses.address_label = source_address 
es.address_label 

WHEN NOT MATCHED THEN 
INSERT (address_label, addressline1, addressline2, 
city, region, country, zipcode) 
VALUES (source_addresses.address_label, 
source_addresses.addressline1, 
source_addresses.addressline2, 
source_addresses.city, source_addresses.region, 
source_addresses.country, source_addresses.zipcode) 
WHEN MATCHED AND source_addresses.is_deleted 
= 1 
THEN DELETE 
WHEN MATCHED THEN 
UPDATE 
SET address_label=source_addresses.address_label, 
addressline1=source_addresses.addressline1, 
addressline2=source_addresses.addressline2, 
city=source_addresses.city, region=source_address 
es.region, country=source_addresses.country,zip 
code=source_addresses.zipcode

  我们简单的对上述例子进行一下点评。USING部分定义了新数据,在这个例子中是一个表变量。ON部分定义了新数据和现有数据之间的联接。最后,它通过一系列的MATCHED语句来进行相应操作,其中包括WHEN NOT MATCHED的时候进行插入操作,WHEN MATCHED的时候执行更新操作,或WHEN MATCHED且符合一些其它条件的时候进行删除操作。这是一个真正让你省心省力的功能,其语法更干净,且符合我们习惯的思维逻辑。


SQL 2008如何引诱我们升级
 SQL 2008如何引诱我们升级?(一)
 SQL 2008如何引诱我们升级?(二)
 SQL 2008如何引诱我们升级?(三)

原文出处:http://tech.it168.com/a2008/1022/208/000000208970_1.shtml
 
来源:IT168    作者:思维牧童     
 
 
 
 
 

SQL Server 2008

 
通过基于策略的管理功能,我们能够配置一组策略以保证所有的SQL Server 实例符合最佳实践的原则。
 
SQL Server 2008 有61个新特性,甚至还不包括缺陷修复和性能改进。在这里详细地说明每一个特性很困难,所以为了节省篇幅,有一些特性在这里不会讨论。
 
我们应该已经了解了Report Builder 3.0的地图功能大大地丰富其数据可视化工具集,这是一个可以使各种报表更加生动和美观的方法。
 
当创建报表和添加多边形图层后,我们几乎已经完成了地图的创建。最后的步骤包含另外2个图层来完成Report Builder 3.0地图的创建——点和块图层。
 
我们可以通过创建第一个层来插入一个新地图到报表中,而创建层的最简单方法是使用“New Map”向导。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录