Q:现在我所在的公司正在使用SQL 2005这个版本,那么SQL 从05升级到SQL 08的PDS(数据保护系统)过程中,我们***选择什么方法呢?那么在升级到SQL 08后,SSIS(生成高性能数据集成解决方案平台)会不会有所提高呢?
A:其实从SQL 2000里面的DPS升级到SQL 2005里面的DPS升级是一样的,我们推荐的方法仍然是重写,因为SQL 2005跟SQL 2008的引擎基本上类似。但是这两个版本跟SQL 2000完全不是一个引擎,虽然你升级过来是可以用的,但是性能达不到原来那样,所以建议你重写,按照SQL 2005或者SQL 2008里面推荐的方式去重写。SSIS的效率会高很多,因为目前业界里面做数据转换最快的记录者扔是微软保持的,好像20多分钟一个G。
Q:我现在担心一个问题,在两个服务器之间传送的事务日志数量,尤其是对于我们每晚都需要执行的索引重建操作。听说镜像功能发送的是实际的重建命令而非事务日志是这样么?
A:数据库镜像过程是通过将实际的事务日志记录从主体数据库发送到镜像服务器来完成的,这些记录在镜像数据库中将被“重播”。根据涉及的索引大小的不同,这可能意味着会生成大量事务日志,从而导致主体数据库的日志文件很大,您可以将数据库镜像视为实时日志传送。但是,在日志传送数据库方案中,数据是以日志备份而非连续流的形式发送到冗余数据库的。因此,对于镜像数据库与日志传送数据库中的索引重建而言,需要发送到冗余数据库的信息量几乎完全相同。实际的差别仅在于发送信息的方式 — 是连续发送还是成批发送。
Q:如果我们现在使用的是SQL 2000这个版本,那么现在由于数据管理的需要,需要升级到SQL 2008这个版本,那么我们是不是只需要支付升级的费用呢?
A:我记得不是这样的,但是我敢肯定的是,如果你是从SQL 2000升级过来的,那么你需要单独购买SQL 2008这个新产品。其实SQL的性价比还是比较高的!尽管在性能的深度和广度上落后于对手,但较低的价位加上和Windows系统以及其他的微软产品之间的兼容集成还是能够让微软迎头赶上。
Q:如果在Vista环境下,您推荐我们使用SQL的哪个版本呢?SQL 2000?SQL 2005?还是SQL 2008?
A:现在你已经给我限制了使用环境,那么就根据你们企业的需要选择使用SQL 2005或者SQL 2008。为什么这么说呢?首先Vista是客户机的的系统,如果你安装了SQL 2000的话,那么你只能装一些特殊的版本(企业版,标准版,桌面版)了。而SQL 2005或者SQL 2008都有经典版,只不过在数据,内存和存储的数量上有所变化,功能上,语句上,表,库,那些概念都是一样的。
Q:如果是从SQL 2000升级到SQL 2008的时候,我会在其中遇到一些问题,那么我可以去参阅帮助文档,但是我实际的应用中,我遇到的问题可能是文档中尚未提及的,那么在使用过程中,我们需要有什么注意的地方呢?比如说语句的变化?
A:我觉得语句这个东西不太好说。纯凭你的个人喜好和你的逻辑思维。我可以告诉你,它会有很多新的语句和语法,还有什么类。但是微软并不知道你的业务,我唯一可以告诉你的,就是它有这个技术,但是这个技术怎么实现的快,就需要你去组合那些语句,需要你去精挑细选,所以说它没有什么需要注意的地方,唯一需要注意的就是不要叫你的语句过于冗长。
Q:在工作中有这样一种现象,应用程序使用的每个表都包含大量索引。经询问才知道似乎是以前的DBA喜欢对各个表列及某些组合添加索引。我认为并非所有索引都是必要的,但我该如何找出可以安全删除的索引呢?我们运行的是 SQL Server 2005。
A:是的,大量索引极有可能是造成性能不佳的主要因素。每次在表中插入、更新或删除行时,都需要在每个非群集索引中执行相应的操作。这将在 I/O、CPU 利用率和事务日志生成等方面增加大量的管理开销。在SQL 2005 中,则可使用新的动态管理视图,它可以跟踪索引使用情况。定期拍摄 DMV 输出的快照,然后对这些快照加以比较。这是提高性能的很好。
【编辑推荐】