⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 24744.htm

📁 一本很基础的SQL讲解
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<P>#p#SQL Server 2005还提供了激动人心的一些新特性,以提高可用性、加强灾难恢复。在高可用性方面,微软已经推出了数据库镜像功能,并且对复制功能做了一些重要改变。现在,模式方面的更改会自动复制到订阅者处。数据库管理员再也用不着手工运行代码来实现这操作。出现故障后,再也用不着重新启动快照;网络出现故障或者其他小失误后,快照会自动恢复,这样就可以大大加快高可用性场景的投入使用。另外,逻辑记录复制功能可确保高可用性场景更加稳定一致,排除了订阅者端的逻辑错误。这项功能让用户可以定义可一起复制或者单独复制的父数据和子数据。 
<P>镜像功能让用户可以指定另一台服务器上的某个数据库与主数据库保持同步。这样一来,万一主服务器出现故障,就可以自动切换至镜像服务器,从而提供了SQL Server的第一个零数据丢失高可用性场景。这种配置对应用和网络来说开销很大,所以用户需要进行全面测试,但这项功能终究摆在了人们面前。不过要注意:镜像功能还称不上是这个版本的一项生产特性。微软交付的SQL Server 2005禁用了镜像功能,这项特性未得到支持。 
<P>镜像功能在测试过程中表现稳定,遇到故障时,能够顺利地替换容量为100GB的数据库。不过,对镜像进行监控的功能仍非常原始,它只包括少量的DMV和性能计数器,所以要查明多少数据已被复制、辅助系统与主系统相差多少或者复制成本多少不是特别容易。很难了解这个过程会不会让一些人感到不满。 
<P>至于灾难恢复,SQL Server 2005大幅减少了恢复备份所需要的时间。一旦有对象,新的联机恢复功能让用户可以开始在数据库里面工作。有了SQL Server 2000,必须在提供给用户之前恢复整个数据库。考虑到完全恢复数TB容量的数据库所用时间,有没有联机恢复功能,可能意味着是正常开展工作,还是停顿数小时。 
<P>同样,用户现在可以解决受损的数据库,而且对用户影响比较小。页级恢复功能(Page-level restore)让用户可以恢复受损的一个页,而不会影响数据库其余部分的可用性。 
<P><STRONG>开发一瞥</STRONG> 
<P>新的工具和构件为开发人员提供了更强大的功能,又没有太多难题。 
<P>优点:CLR集成让开发人员可以利用.Net语言用于存储过程和SSIS软件包;&nbsp;新的T-SQL构件和改进之处增强了功能,同时简化了代码编写;&nbsp;本地XML存储功能让开发人员能够结合XML文档和关系数据。 
<P>缺点:Management Studio缺乏重要的代码编辑功能,如智能感知功能;界面反应不够迅即使得Management Studio作为运行许多复杂查询的工具而言缺乏效率;有些DMV需要比不推荐的DMV更长、更复杂的查询。 
<P><STRONG>为新时代而开发</STRONG> 
<P>代码方面的改进可以分为两个基本类别:一类面向开发人员,另一类面向数据库管理员。除了.Net/CLR集成功能外,通用表达式(CTE)对开发人员来说大概最重要。除了可轻松自如地解决递归查询问题外,CTE还可以让开发人员使用联机查询定义来取代视图或者导出表(derived table),从而简化代码。 
<P>CTE不但简化了复杂查询,还可以执行与导出表同样的操作,所以实施起来不需要任何额外开销。 
<P>另一个重要改进就是TOP子句。TOP子句原本可以让用户定义:只返回一定数量的结果集(譬如按收入排名的美国前十名销售人员),现在它可以把某个参数作为一个变量。虽然这听上去没什么大不了,却是属于较小变化能给开发工作带来巨大变化的情况之一。简而言之,用户现在可以加入变量,让用户迅速报告TOP 10或者TOP 100(或者其他任意数),用不着把静态值(譬如TOP 10)加入到代码里面。 
<P>便于开发的其他方面包括:排序、随机数据抽样、行列转换(pivot/unpivot)、同义词、大大改进的错误处理机制以及代码安全上下文。许多开发人员还会对SQL Server 2005的原始XML存储功能大唱赞歌。说到关系数据库的XML处理功能,SQL Server 2000的功能限于把XML“分割”成关系数据,这个笨拙的过程无法保留XML的层次结构。现在,可以把XML导入到列当中,不但可以执行原始XML查询,还可以为它建立索引,以便快速检索。 
<P>数据库管理员同样可以享受到代码方面的变革带来的好处。许多编码方面的变化为管理员从命令行提供了通过Management Studio无法得到的管理功能。特别是数据定义语言(DDL)不但会改变数据库管理员处理工作的方式,还会帮助他们的CEO在晚上睡得安稳许多。一旦数据库模式出现了变化,DDL就会引发警报,而且几乎可以根据服务器或者数据库里面的任何对象类型来加以定义,从而有助于避免出现不需要的更改。 
<P>在任何繁忙的生产环境,建立索引总是一个重要问题。数据库管理员需要维护数据库;生产经理们不希望生产业务被中断。联机索引功能让数据库管理员无须使数据库处于离线状态,就可以创建或者重建索引。索引与表并行创建,然后一旦创建完毕,就可以加以应用。当然,用户一定要留意资源,不过这项特性将为必须要求24×7生产的公司大大提高可用性。数据库管理员现在还可以控制索引操作使用的锁定级别。 
<P><STRONG>不是以往的OLAP</STRONG> 
<P>SQL Server 2005的商业智能工具套件包括:SQL服务器分析服务(SSAS)、SQL服务器数据挖掘(SSDM)和SQL服务器报表服务(SSRS),它们终于都是为了共同满足商业智能需求而设计的。如今的SSAS性能相当好,这归功于易用性方面的诸多改进。新的商业智能向导(Business Intelligence Wizard)随带了解决一些常见问题的现成解决方案。货币兑换、半累积度量和基于时间的计算只是该向导能处理的几个例子。 
<P>SSAS有一个非常重要的结构变化:统一维度模型(UDM)。除非你在使用它,否则很难完全掌握UDM,不过它基本上为客户程序如Excel和许多异构数据源之间架起了一座桥梁。或者用更简单的话来说,它位于用户和这些数据源之间,为用户显示所请求数据的视图。UDM为操作SSAS的方式带来了几个重要变化。其中之一就是,现在可以拥有多个事实表(fact table);实际上,整个关系模式出现在用户面前。有了UDM,就不需要虚拟多维数据集和虚拟维度,不但提供了增强型功能,还提供了大大简化的操作模型。 
<P>最让人喜欢的一项新特性就是主动缓存(proactive caching)。这项机制让用户可以设置确定数据何时刷新的度量。设置度量有好几种办法,不过比较好的一种办法就是定义基本数据变化时、就刷新多维数据集。数据在分区级进行刷新,平衡性能和延迟有许多选择。 
<P>SQL服务器数据挖掘已经从试验阶段发展成为一种成熟的应用。SQL Server 2000有两种挖掘算法:简单聚类和简单决策树,SQL Server 2005却有十种算法。它还有25种新的视图和可视化查询编辑器。所有这些工具大大简化了开发及使用挖掘模型。这倒不是说微软已完全实现了这个目标:把数据挖掘功能交到非专业人员手里,但远比使用第三方挖掘工具来得方便。 
<P>把商业智能软件包结合起来的是SSRS。利用这个新版本,微软摈弃了编写及分发报表的大部分麻烦。报表生成器(Report Builder)也许是最重要的改进,这种新的Web界面让最终用户可以编写及发布自己的报表。管理员发布报表模型(这基本上定义了管理员想要用户能够用来编写报表的数据),用户就可以遵照向导界面,逐步创建自己喜欢的任何报表。从某种意义来说,这些报表比传统的SSRS报表更丰富,因为它们随带已经内置的无限挖掘功能,这是以往设计的报表根本没有的功能。 
<P>报表生成器的控件让开发人员可以把报表嵌入到应用里面。除了这项人们需要的功能外,报表生成器还包括支持定制控件的功能,让开发人员(最有可能是第三方开发商)扩展SSRS的功能。 
<P>SSRS还包括比较次要的改进,最终用户会觉得有所帮助。其中之一就是多值参数,它让用户可以把多个值(譬如多个销售区域)传递到单一参数里面。这项功能以前有赖于把定界元素传递到单一参数里面,然后对它们进行分析,传送到数据库里面的单个实体。另外一些改进包括:交互式分类,让用户可以改变报表里面列的分类标准;以及日历选择器,让用户可以从弹出式日历选择日期,而不是必须输入日期。 
<P>对开发人员来说,SSRS可以直接处理SSAS和SSIS,把它们都作为数据源来使用。这向前迈进了一大步,因为当前的SSRS用户可以采用已经到位的流程,以众多方式生成众多报表。单单SSIS集成功能就让用户能够从多个数据源获取数据,包括从不同的数据库、Web服务、RSS新闻源、SSAS和数据挖掘库等合并而来的数据。正可谓机遇无限。 
<P><STRONG>SQL Server还缺什么?</STRONG> 
<P>这个版本还缺少了什么功能?许多开发人员和数据库管理员曾盼望用智能感知功能(IntelliSense)用于T-SQL代码编写。许多人还希望有某种集中代码库。我们仍然有模板,不过这些模板通常驻留在客户端上;数据库管理员和开发人员无法轻松地从集中联机资源当中获取。SSIS比DTS有了大量改进,不过仍不是实际的抽取、转换和加载(ETL)服务器,这意味着它仍使用启动软件包的服务器的资源。这是许多数据库管理员抱怨的原因之一,不过当前的体系结构也具有一些优点。对此,SQL数据库管理员已学会了如何忍受,并找到了变通方法。最后,微软还没有针对Oracle的网格解决方案拿出相应的解决办法。网格方案让用户可以聚合多个数据库服务器用于负载均衡和故障替换,并作为一个群组加以管理。这是Oralce仍可以声称较之SQL Server的最后一个重大优点。 
<P>那么谁应当升级?何时进行升级?应当马上考虑升级的公司——假定它们的应用系统已符合使用新版本的标准、迁移不会使支持合同作废——是这样一些公司:需要真正的24×7可用性、高度依赖数据转换服务(DTS),或者需要遵从《萨班斯-奥克斯利法案》的审查要求。 
<P>如果你根本无法忍受由于维护或者其他任何原因而出现停机,就应当立即进行这种升级。SQL Server 2005在复制方面的改进、联机重建索引、局部恢复以及很快推出的数据库镜像会减轻一些压力。 
<P>如果你目前在使用的DTS到了极限,改用SSIS会最终简化业务,不过可能不会像你喜欢的那样简单。所以,合理规划必不可少。最佳办法就是,部署一台专用的SSIS服务器,然后一次升级一个软件包。这种方法让你有机会在空闲时升级及测试。 
<P>如果你担心的是法规遵从,那么新的安全特性和DDL触发器会非常迅速地让数据库符合规范。不过,实施密码策略可能会给你的环境带来一些不便,所以你必须进行相应规划。 
<P>对于没有这些迫切问题的公司来说,SQL Server 2005也有其他许多理由让你考虑使用它。从管理到开发,你只要挑出各个环节面临的问题,SQL Server 2005就很可能有助于缓解问题。 
<P>SQL Server 2005是一款出色的版本,它会让微软在高端数据库市场获得一些真正的尊重。如今,SQL Server的工具在管理、监控尤其是在开发等各个方面几乎都领先于Oracle和DB2——而在这三家开发商当中,微软似乎对改进这些方面最为关注。也许另外两家厂商应当开始修炼内功了。 
<CENTER><IMG src="http://publisher.51cto.com/files/uploadimg/20060403/1427422.jpg" width=450 border=0></CENTER>
<P>图3 分析服务拥有更整洁的界面,可以加快开发报表及商业智能应用。它现在利用Visual Studio进行开发。 
<P><STRONG>商业智能一瞥</STRONG> 
<P>分析服务、数据挖掘和报表服务终于被设计成可以协同工作。 
<P>优点:新的统一维度模型使得分析服务成为连接众多异构数据源的桥梁;&nbsp;数据挖掘功能日渐成熟,拥有更丰富的一系列挖掘算法和视图;报表服务现在让最终用户可以创建自己的报表、让开发人员可以把报表嵌入到应用里面;复杂的多维数据集执行起来良好、可靠。 
<P>缺点:Management Studio支持编写商业智能代码,但不支持报表;新界面带来了有点难度的学习曲线,特别是对高级特性而言。 
<P>(责任编辑:<A href="http://images.51cto.com/wuyou/mailto:%20mingming_ky@126.com">铭铭</A>)</P></td>      </tr>      <tr>        <td class="d_font4">&nbsp;</td>      </tr>    </table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -