扩展事件在Denali CTP1里的新功能

我的同事林默2009年曾写了一篇关于SQL Server 2008里扩展事件(XEvent)介绍的博文,XEvent在SQL 2008里所有的操作必须用TSQL来实现,不是非常方便。在上个月刚刚发布的Denali CTP1里我们对XEvent提供了更多的支持,建立了一个Object Model,在其基础上提供了SQL Server Management Studio(SSMS)里的一个简单UI并同时对PowerShell提供了支持。 有了Object Model后,我们就可以用写.NET代码来创建XEvent Session,修改Session或者枚举数据库里的所有Session。我们可以在Visual Studio里新建一个简单的.NET 3.5 Console Application,并增加对Microsoft.SqlServer.ConnectionInfo,Microsoft.SqlServer.Management.Sdk.Sfc以及Microsoft.SqlServer.XEvent的引用。如果你在Add Reference对话框的.NET标签找不到这些Assembly的话,你可以通过Browse标签到C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies目录下添加这些Assembly。在Program.cs里先增加下面几个using: using System.Data.SqlClient;using Microsoft.SqlServer.Management.XEvent; using Microsoft.SqlServer.Management.Sdk.Sfc; 然后在Main函数里输入下面的代码(你可能需要改变Connection String): using (SqlConnection conn = new SqlConnection(“Data Source=.;Integrated Security=True”)){ conn.Open(); XEStore store = new XEStore(new SqlStoreConnection(conn)); Session session = store.CreateSession(“blogtest”); Event evt = session.AddEvent(“sqlserver.sql_statement_starting”); evt.AddAction(“sqlserver.database_name”); session.AddEvent(“sqlserver.sql_statement_completed”); Target target =…


深入探索PowerPivot客户端和服务器端架构

2008年,我们与聚集在微软技术大会的IT朋友们分享了商业智能的未来。在讲座中,我们谈到自助式商业智能的愿景。2009年,我们与聚集在微软技术大会的IT 朋友们分享了PowerPivot客户端的功能。 2010年12月1日- 2010年12月3日,许多IT朋友们聚集在北京参加微软技术大会(Microsoft TechEd China 2010)。在今年的技术大会上,我们与大家探索PowerPivot客户端和服务器端的总体架构。 当用户使用PivotTable连接到在 Excel 外的数据源(External Data Sources)时,Excel用不同的数据源连接器来做连接。其中,当连接到分析服务器时,Excel用了MSOLAP OLE DB Provider来做连接。在MSOLAP OLE DB Provider的连接字符串,我们提供了分析服务器的名字和连接方式(例如:Server Name, Credentials,等等)。MSOLAP Provider 通过TCP传输来与分析服务器沟通。此外,当连接字符串中有HTTP字符时,MSOLAP Provider 将通过HTTP传输来与安装在服务器的数据泵(data pump)与分析服务器沟通。当连接字符串中指定了部署在Sharepoint Farm中的Excel文件时,MSOLAP Provider也将用HTTP传输。 介绍了TCP 和HTTP传输后,我们也谈到了一个新的Inproc传输。MSOLAP OLEDB Provider通过Inproc传输来连接到内存中的PowerPivot引擎。嵌入在Excel工作簿中的PowerPivot 数据在打开文件时被恢复到PowerPivot引擎。客户端的PowerPivot 插件用了熟悉的Analysis Management Objects(AMO)和ADOMD.Net来对PowerPivot引擎进行查询和操作。 最后,我们谈到了部署在Sharepoint Farm的PowerPivot。我们介绍了在Sharepoint Farm中的几个PowerPivot的组建。这包括了:PowerPivot Web Service(PWS)和PowerPivot  System Service(PSS)。PowerPivot Web Service(PWS)是一个在SharePoint前端的薄中间层。PWS 负责把来自Sharepoint Farm外的请求转发到服务器中的PowerPivot服务程序。我们也谈到了在Sharepoint Farm中,MSOLAP OLEDB Provider如何用Window Communication Foundation(WCF)为基础的Channel运输来与PowerPivot  System Service(PSS)沟通。   更多参考资源:…


应用于数据层开发、部署、升级和管理的标准解决方案——数据层应用程序

大家好! 在刚刚结束的Microsoft TechEd 2010,我们通过动手实验,让大家体验了如何使用数据层应用程序(DAC)进行轻松高效准确的数据层开发、部署、升级和管理,并收到了很好的反馈。为了能够和更多的开发人员和数据库管理员介绍和分享DAC,我们特撰文如下,以飨读者。 对于普通应用程序的部署和升级,大家已经非常熟悉和习惯的使用MSI或者Click Once了。那么对于数据层,微软有什么类似的标准而易用的解决方案,可以统一将所需的所有数据库和实例对象(例如,用户表、存储过程、视图、登录等)统一打包,能够对版本,部署和升级条件及策略的声明和控制呢?这就是数据层应用程序(Data-tier Application,DAC)。 数据层应用程序DAC可使用以下两个工具来实现: 可使用 Microsoft Visual Studio 2010 中的数据层应用程序项目编写和构建 DAC,并可以进行对 T-SQL 代码运行静态代码分析、重构 T-SQL 代码、声明 版本和部署意向的策略;升级DAC时还可以对数据层应用程序进行架构对比。 可以使用 SQL Server Management Studio 中的提取数据层应用程序向导从现有的数据库中提取 DAC,或进行DAC的部署、升级和统一管理。 数据层应用程序DAC在软件生命周期中的具体应用: 开发:Visual Studio 2010 中添加了一些新功能和增强功能: 全面支持数据层应用程序开发。 全新的 Transact-SQL 编辑器体验。 集成式编辑器、调试器、离线和在线 IntelliSense、语言服务和策略设计器。 静态代码分析和构建服务。 部署:引入全新的部署单元DAC包( DACPAC),从而轻松高效准确地从 Visual Studio 2010 和 SQL Server Management Studio 部署和升级数据层应用程序。DACPAC是.zip格式的,其中包含.XML和.SQL文件,以方便浏览和对比。 管理:SQL Server 2008 R2 引入了…


SQL @ TechEd 2010

2010微软技术大会将于2010年12月1日至3日在国家会议中心举办。除了Simon Leung 和Enwei Xie的主题演讲之外,大会将开设6个动手实验营、10个分会技术课程共16个技术分类的近200场精彩课程演讲。 按照时间顺序,SQL中国研发团队将贡献如下课程: SQL Server 2008 R2 数据压缩的最佳实践技巧和新增功能 方峻12/2, 9:45-10:45 分会场八 DAT-300-3SQL Server 2008 推出数据压缩后非常受用户欢迎,得到了广泛的采用。本讲座将简单回顾一下数据压缩的功能,然后重点讨论一些常见的客户问题,实践技巧,应用场景和性能影响,并通过这些来帮助您选择什么时候采用哪种压缩技术。之后讲座将介绍 SQL Server 2008 R2 上数据压缩的新功能,对 Unicode 字符数据的压缩。 如果构建企业级的ETL 孙巍12/2, 9:45-10:45 分会场九 BIC-300-3数据整合及清洗是企业实现BI的必要步骤,生成及输出的数据是BI系统的数据基石。微软的SQL Server Integration Service(SSIS)提供了一套完整的ETL解决方案,不但从功能上满足了整合及清理的要求,还提供了强大的流程控制及扩展功能。企业级ETL解决方案不但要考虑转换功能实现,更多的是要考虑流程、性能、可管理性、可扩展性。本讲座将从企业对于ETL解决方案的需求开始完整的阐述如何使用SSIS实现企业级ETL。 SQL Server Cluster 多子网支持和新的故障检测机制 何民12/2, 11:00-12:00 分会场二 DAT-300-4课程由两部分组成:(一)SQL Server 多子网故障转移集群(multi-subnet failover clustering)可用于部署高可用系统之上的灾难恢复系统。本讲座将介绍多子网集群概念,和V-LAN解决方案的比较及部署的最佳实践。(二)即将发布的SQL Server 下一版本中,故障转移集群使用了 全新的故障检测机制。这一部分讲座包含对新的系统存储过程sp_server_diagnostics的介绍, 新的故障检测机制与SQL Server 2008 R2 之前版本的故障检测机制的对比,如何定制故障条件级别,以及演示。 SQL Server 2008 R2/PowerPivot探秘 卓伟雄12/2, 14:30-15:30 分会场九…


被“自由行动祝福”环绕的战士——微软实习之魔兽攻略版

“被人绑着推到竞技场里,和自己昂首挺胸迈进去是完全不同的。” 不同于何处?被动与主动。 前者被迫走进竞技场,只能在别人的指挥下去拿指定的武器,根据指令这样进攻那样防守。而自己迈入场地的人,每一步都是自己的选择,可以拿自己最擅长的武器,使用最得心应手的战术。 只有你自己才知道挥舞刀剑和吟唱魔法哪个更得心应手;正面对抗和以智取胜哪个更擅长。要是一个法师不得不去冲锋肉搏,那他的魔法值不就完全浪费了么。而一个战士只有拿起双手剑,才能去打一场漂亮的战斗。 这些与在微软实习有什么关系呢? 你一定曾听说在微软实习有喝不完的酸奶,可以随意着装,办公楼里的台球桌、乒乓桌、XBox随时恭候。隐藏在这些表象背后的是一种公司文化 ——“自由”。而“自由”的公司文化除了让人在工作的时候爽一点,还有什么呢?让我们继续之前那个挥舞双手剑的战士的故事…… 即使战士擅长剑术、战术成熟,也可能在战斗中被猎人的陷阱困住,被法师的寒冰箭减速,以致无法接近对手,难以按自己原先的想法战斗,发挥出一身本领。这时,如果有一个圣骑士能给这个战士加上一个“自由行动祝福”【注:“自由行动祝福”可以使目标免疫一切限制移动效果】,那战士就能变得不可阻挡、所向披靡。 如果说实习生是这个战士,微软就是那个可以给他施放“自由行动祝福”的圣骑士。微软是一个可以让人自由发挥的平台,在这里可以真正随心所欲地工作、学习。让你不会由于外界的限制,导致自己的选择失去了意义。对于一个实习生来说,如何体会到这种“自由”呢? 也许你在一家公司的实习经历会是这样的…… 领过一堆魔法卷轴,被告知要把这些法术学会; 被告知用刚学的魔法完成一项简单任务; 完成任务后,会被指出有哪些不足之处,还要研习哪些高一级的魔法; 然后接到另外一项任务,在任务中提高你的魔法技能。 然而,“杯具“的你从来对所学的魔法没有丝毫兴趣。几个月下来,既不开心,也没学到什么想学的东西。 而在微软就不同,你完全可以这样… 告诉老板和导师“我是个战士,我擅长用双手剑战斗”。 在导师的指导下选择一项能发挥你优势且收益较大的任务,拿起手中的剑去执行任务。 和周围的人探讨战斗技巧,请教怎样挥舞你的剑才能发挥最大威力。 背上你已练得娴熟的【角斗士的双手巨刃】,开始自己的征程。 只有在这样的环境下,一个战士才能成长与进步。 在不少公司里,实习生往往是一个被动的角色,所要做的就是接受并且执行一条条由上至下的指令。而微软的实习生可以一边学习各种技能、一边埋头于自己感兴趣的项目。微软并不仅仅是“雇佣”实习生来打工,同时也在培养实习生的自主能力,这里有着充足的学习资源,找到所有感兴趣的微软产品和技术。 若在做任务时遇到问题,你可以使用微软内部的Wiki查找你想要的信息;也可以向你身旁的同事请教;或是发邮件给“I Dunno!”(微软的群邮地址),那里会有High-Level的家伙为你指点迷津。 要是想提高你的“剑术”水平,你可以去参加Tech Talk(技术讲座)或看网上讲座视频,那里有人介绍最新的技术、技巧;在微软的电子图书馆里寻找你的“双手剑高阶指导”。 如果想从他人的经历中激发对自己职业规划的思考,你可以给导师或老板发Meeting Request(会议邀请),问问他们是如何从一个小战士成长为一名角斗士的,他们绝不会吝惜将自己成功的经验分享给你。 回想在微软实习半年的收获,我发现最有价值的是我在自由祝福的照耀下,体验了按自己的意愿迈出每一步的快乐,学会了如何去自主地做决定、做事情。有了“自由行动祝福”的环绕,可以少绕很多弯路,少遇到很多绊脚石,就像舞动着一双自由之翼,可以更快地触碰到眩目的天空。 软件测试开发工程师实习生  曹书宇


SQL Server 2008 R2新产品介绍——主数据服务

为什么需要主数据服务(Master Data Service ,MDS)? 在信息化的时代,企业每天都需要处理海量的事务数据。 如何保障这些海量数据的准确性和安全性成为企业数据管理的重要问题。微软SQL Server 2008 R2 发布的新产品——主数据服务(MDS)提供了有效的机制来帮助企业解决这个问题。 主数据是什么?主数据是企业的基础的、关键的业务数据。比如企业的产品信息、供应商信息、客户信息、人力资源数据等等。主数据的准确与否,决定着企业海量业务数据的是否有效。管理好这些主数据是进行海量数据处理的关键组成部分。 MDS概要介绍 企业的主数据按照实体、模块的方式存储在MDS数据库中。相互联系的实体存放在相同的主数据模块中。实体的属性是主数据存取和安全性管理的最小数据单元。在日常事务流水中,这些最小的数据单元精确的描述和刻画着事务的具体内容。同时在MDS中,可以对这些主数据进行组装和搭配,形成高级的主数据管理单元。这些功能分别在MDS的以下组成部分中实现: 系统管理工具:定义主数据的存储结构 资源管理器:展示和管理主数据的内容 安全性管理模块:定义主数据单元的存取权限 MDS同时提供了: 版本管理工具:维护和管理企业历史上不同时期的主数据 数据集成工具:与已有的系统进行主数据的导入和导出 参考资料 微软新产品介绍:http://www.microsoft.com/sqlserver/2008/en/us/MDS.aspx MDS 应用程序开发人员参考资料:http://msdn.microsoft.com/en-us/library/ee633763.aspx  MDS  博客:http://blogs.msdn.com/mds/ TechNet技术指引视频:http://technet.microsoft.com/zh-cn/ff959218.aspx 软件测试工程师 郝勇 作为技术指引,本片首先概要的介绍了什么是Master Data和Master Data Service,然后简明地演示了微软SQL Server Master Data Service所提供的主要功能。 [Video]


浅谈SQL Server 2008 R2 中的新组件——StreamInsight

随着信息技术的广泛应用,数据流作为一种新颖的数据结构在日常生活中有着越来越广泛的应用,微软在SQL Server 2008 R2 中推出了分析处理数据流的新组件——StreamInsight。它提供了基于DotNet框架的开发环境,用户能够轻松地使用它来开发出健壮,高效地数据流处理程序。 StreamInsight的本质是复杂事件处理(Complex Event Processing,CEP)的应用程序框架,与传统的数据库查询处理不同,事件处理系统需要同时处理来自多个数据源的海量事件(Event),并且根据用户提供的查询语句以及匹配模式,实时地输出事件分析结果。我们在下表中列出了事件驱动应用和数据库应用的主要区别: 数据库应用 事件驱动的应用(Event Driven) 查询模式 特定的查询请求 连续的查询 响应时间 从几秒至数天 几毫秒或更少 数据流量 数百条记录/秒 >10000 事件/秒 通过使用StreamInsight,用户可以开发出基于CEP的程序来实时处理大量的原始数据,利用数据之间的层次和关联关系,有效的采用相应的规则进行处理,以降低进行事件分析,事件关联及事件解析等操作的代价。StreamInsight同时能够支持对数据流模式匹配、异常检测、趋势分析等操作,使用户能够更好地管理、监控和挖掘数据,最终使用户得到之前无法了解的信息,并能够更快速和更有效的进行操作决策,提高关键绩效指标(KPI)。 在StreamInsight的应用中,其核心为StreamInsight服务器,它主要由输入,输出适配器(Adaptor)以及CEP引擎(CEP Engine)组成。 CEP引擎(CEP Engine):所有的输入数据都将再CEP引擎中进行分析和处理,它根据用户定义的查询逻辑,有效地分析和转换输入的数据,并及时输出结果。 适配器(Adaptor):StreamInsight提供了适配器的框架,开发者能够通过实现不同的接口来开发不同种类的适配器。适配器分为两类,输入适配器(Input Adaptor)是连接外部存储设备如网络服务器,传感器同StreamInsight引擎的接口。而输出适配器则用于处理CEP引擎输出的结果并可以同时触发一系列的操作。 下图给出了StreamInsight应用的整体结构: StreamInsight平台提供了一个功能强大的对象模型,它包含了许多有用的特性使得我们能够开发出灵活和功能强大StreamInsight的程序。对于初次使用StreamInsight的开发者来说,参考网上的一些实例能够取得事半功倍的效果。 在我加入微软之前,也曾进行过一段时间的数据流研究,当时的感受是,由于没有很好的数据流开发框架,我需要对于不同的应用开发不同的数据流程序来分析算法的有效性,而随着StreamInsight的推出,不仅能够为企业用户创造很大的价值,普通研究者也能够使用它更有效地开展研究工作。 StreamInsight的相关组件可以在微软网站上直接下载,如果您需要获得更多的信息,请访问微软StreamInsight的相关网站。 软件开发工程师 李人和

6

SQL Server 2008 R2新特性——报表部件视频教学

SQL Server 2008 R2的报表服务为客户提供了更好的报表设计和协作体验。其中报表部件集使得客户可以方便的共享和重用报表部件。在本期视频中,我们将和大家分享报表生成器3.0中报表部件集的使用。该视频也能在TechNet IT影城找到。 软件开发测试工程师 吴晓晨 [Video]


SQL Server 2008 R2 StreamInsight简介

作为SQL Server 2008 R2一个主要的部分,StreamInsight提供了复杂事件处理(Complex Event Processing,CEP)功能。它处理的对象是例如证券交易行情、物联网、医疗监护等数量巨大并且需要实时处理的复杂事件。 从体系结构上看,StreamInsight类似于一个基于内存的数据库系统。它通过输入适配器接收事件并保存在内存里面。然后通过LINQ对输入事件进行处理得到结果,用于进一步的处理。StreamInsight的LINQ扩展提供了丰富的功能,包括过滤、分组、汇总、连接等常见的SQL功能,和窗口切分这样比较特殊的功能。 窗口切分是CEP系统和一般DBMS不太一样的一个地方。它用于把一个无限长的输入流转换成为一个一个有限的集合,从而可以方便的进行处理。StreamInsight提供多种窗口切分支持,以适应不同的应用场景需要。例如下面的LINQ查询代码采用了数量为2的计数窗口进行切分,计算后面一个事件相对于前面一个事件的变化值。 var deltas = from e in inputstream              group e by e.DeviceId into eachGroup              from win in eachGroup.CountByStartTimeWindow(2, CountWindowOutputPolicy.PointAlignToWindowEnd)              select new { ValueDelta = win.Delta(e => e.Value), SourceID = eachGroup.Key }; 此外,StreamInsight还提供了事件流程调试器,它对于了解事件引擎的内部处理流程、开发和调试应用都有很大的帮助。 和其他微软产品一样,StreamInsight虽然功能很复杂很强大,但是非常容易使用。你可以按照下面的步骤很快把它提供的例子运行起来,开始你的CEP应用之旅。 下载StreamInsight试用版(大小大约是14MB),安装到你的机器上。安装的时候,实例名栏目输入Default。你不需要安装任何的SQL Server实例; 打开Microsoft StreamInsight程序组,点击StreamInsight Samples,下载例子代码并展开; 启动Visual Studio 2008或者2010,打开StreamInsightProductTeamSamples\Applications\ComposingQueries\ ComposingQueries.sln; 打开成功以后,按F7编译,然后Ctrl+F5就可以运行了。 更多的知识,请参考Microsoft StreamInsight程序组里面提供的文档或者查阅无联网。 参考资料…


SQL Server 2008 R2报表服务之地图向导

SQL Server 2008 R2地图向导是Report builder3.0中内嵌的用于导入地图、创建地图、编辑地图以及发布地图的一套可视化的工具。使用地图向导,用户可以轻松地制作出地图相关的报表,并发布供重用。相比于之前需要靠第三方插件的方法,地图向导在便捷性、灵活性、兼容性等多个方面都有了巨大的优势。 下面将详细介绍地图向导的强大功能。准备数据使用地图向导,必须首先有如下信息: 空间数据源。提供空间数据的源的位置或连接,例如,包含空间数据的 SQL Server 实例和数据库的名称,或是Environmental Systems Research Institute, Inc. (ESRI) 形状文件的名称。 空间数据。来自空间数据源,是包含用于指定位置的一系列坐标的字段。 分析数据。用于改变地图显示的分析数据,例如,年度商店销售额。 匹配字段。定义空间数据和分析数据之间关系的匹配字段,例如,唯一标识每个城市的地区和城市的名称。 空间数据用于显示地图,分析数据用于区分显示地图区域,匹配字段用于将分析数据和空间数据关联起来。 ESRI形状文件是一个文件集,其中的数据符合Environmental Systems Research Institute, Inc. (ESRI) 形状文件空间数据格式。该文件集通常包含.shp 文件(包含空间数据)和一个支持文件.dbf。 当您将形状文件指定为空间数据源而该文件位于您的本地计算机中时,空间数据将自动嵌入到报表中。若要动态使用ESRI文件中的空间数据,必须执行以下操作:在Report Builder 3.0中,将.shp文件及.dbf文件同时上载到报表服务器上的同一文件夹,然后链接到作为空间数据源的.shp 文件。 可以通过如下链接或者是其他网络地址获得空间数据。 分析数据可以来自报表数据集,也可能随地图库或ESRI形状文件中的某个地图的空间数据附带。对于随形状文件附带的分析数据,需要使用工具导入到数据库,供后面创建带有分析数据的地图使用。常用的导入工具比如SqlSpatialTools等。 创建地图可以创建地图的方法和地图种类有很多,这里只介绍其中一种。 1、打开Report Builder3.0。 2、欢迎界面选择Map Wizard 或者菜单Insert->Map->Map Wizard。 3、选择ESRI形状文件。 4、浏览文件夹,打开事先准备的.shp文件: 5、单击‘下一步’。 6、选择地图的显示属性。这一步可以放大地图,然后选择只显示其中一块区域。也可以添加Bing的地图层。 7、设置好选项后,单击‘下一步’。 8、选择地图类型: 基本图:只显示区域的地图,例如,销售区域。选项:通过调色板改变颜色或使用一种颜色。调色板是一组预定义的颜色。当分配完调色板中的所有颜色后,将分配颜色的阴影。 颜色分析图:一个按变化的颜色显示分析数据的地图,例如,按区域列出的销售数据。 起泡图:一个在各区域中心以不同气泡大小显示分析数据的地图,例如,按区域列出的销售数据。选项:根据第二个分析字段改变区域颜色以及指定颜色规则。 9、选择颜色分析图,单击‘下一步’。 10、选择新建数据集,单击‘下一步’。 11、 点击‘新建’,设置数据集连接字符串等属性。 12、单击‘下一步’。…

1