2023年11月27日发(作者:)
SQL Server 2008 R2 中文教程
微软最新的数据库管理平台 SQL Server 2008 R2 正式发布已经有半年多的时间了,
虽然真正部署的用户并不多,但是有许多企业已经在筹划将 SQL Server 迁移到 R2 平台了。
在去年发布之际,TT 数据库网站就带您一同对 SQL Server 2008 R2 的新功能进行了大体
的了解,那么在本次的技术手册中,我们将带您深入了解一下 SQL Server 2008 R2 的技
术细节,包括数据库管理和开发个各个方面,相信会对 DBA 有所帮助。
SQL Server 2008 R2 基础知识
在深入了解 SQL Server 2008 R2 之前,我们需要对它的基础进行一个初步的认识,
其中包括有哪些新的功能值得我们注意以及一些安装方面的信息。
初识微软 SQL Server 2008 R2
SQL Server 2008 R2 的十大变化
SQL Server 2008 R2 安装
利用 Sysprep 工具加快 SQL Server 2008 R2 部署
并行数据仓库
并行数据仓库所做的是支持你跨多个物理 SQL Server 服务器对你的数据仓库扩展。
所有连接都连到一个控制者服务器。你查询该控制者服务器时,它会把请求发送到子节点,
然后这些子节点会处理这些请求并把结果发回到控制者节点。
SQL Server 2008 R2 并行数据仓库简介
揭秘并行数据仓库的成本
使用并行数据仓库所面临的挑战
提升并行数据仓库的投资回报率
多服务器管理
通用控制点允许你收集大量多 SQL Server 实例的指标,并把这些数据显示在易于使
用的仪表盘报表中。这种报表仅在 SQL Server Management Studio 的一个界面上就提供
了对你整个企业的概览。
SQL Server 2008 R2 多服务器管理:设置通用控制点
SQL Server 2008 R2 多服务器管理:使用通用控制点
SQL Server 2008 R2 多服务器管理:修改临界值
SQL Server 2008 R2 数据层应用
利用 SQL Server 2008 R2 和 Visual Studio 2010 的紧密集成,微软给我们带来一个
称为数据层应用(data-tier applications ,DAC)的新功能。将 Visual Studio 的 DAC 部
署到 SQL Server 是通过一个数据层应用程序包,即 DACPAC 来完成的。
分析 SQL Server 2008 R2 数据层应用的优缺点
数据层应用(DAC)与 SQL Azure 数据库的协作
使用 VS2010 进行 SQL Server 2008 R2 DAC 开发
SQL Server 2008 R2 DAC 包的创建
SQL Server 2008 R2 DAC 部署
主数据服务
Microsoft 通过 SQL Server 2008 R2 向它的 BI 平台添加了一个新特性:主数据管
理(Master Data Services),这个特性一定能够吸引到这些还在犹豫的公司进行升级。
SQL Server 2008 R2 最新功能:主数据服务
Master Data Services 的潜在问题
主数据服务的相关业务案例
Master Data Services 存在可提升的空间
不升级 SQL Server 2008 R2 前提下享受主数据服务
SQL Server 2008 R2 安全性
也许你已经发现了,针对 SQL Server 2008 R2 可用的加固资源并不多。可以这样说,
“加固”这个词已经不应该是与 R2 这一产品相关的了,它已经提供了相对较全的安全特
性了。但是如何使用好这些安全特性是十分重要的。
你的 SQL Server 2008 R2 足够安全吗?
了解 SQL Server 2008 R2 数据库审计流程
SQL Server 2008 R2 高可用
关于 SQL Server 2008 R2 还有哪些需要我们注意的地方,在本部分中,我们就会向
您介绍一些您所不知道的 SQL Server 2008 R2 功能。
细数 SQL Server 2008 R2 中最不为人知的七个方面
SQL Server 2008 R2:在运行中合理分配 CPU 和内存
初识微软 SQL Server 2008 R2
在北美 2009 年度 TechEd 大会上,微软宣布了 SQL Server 的下一个发布版本——代
号为 Kilimanjaro——现在被确定为 SQL Server 2008 R2。
尽管 IT 专业人士和公众已经习惯于在微软发布的产品后面见到 R2 标记,大部分人仍
然想搞清楚 R2 对于 SQL Server 来说意味着什么。
一般情况下,微软交替发布较大产品变更和较小产品变更有一定的周期性。因此,像
SQL Server,Windows 和 Exchange Server 这类比较大的产品发布,通常至少四年不会有
重大的变化。然而,像带有 R2 标识的产品线这类较小范围的更新,通常两年左右就会更
新一次。
在本文中,我会对 SQL Server 2008 R2 预期的优越性,新特性及改进方面提供一个
总体概述。
可扩展性改进
借助于新硬件设备对于企业版 Windows Server 2008 R2 的增强,SQL Server 2008
R2 将能支持高达 56 个逻辑处理器和 2TB 内存。这些功能的增强将使得企业能处理更加巨
大的负载量,并能增加可以统一到一个平台上的服务器,实例和数据库的数量。
整合工具
对于 SQL Server 2008 基础设施的拥有者,整合是降低总体成本很好的方法。不幸的
是,大家都习惯于收集存在的数据进行分析(包括性能度量),这是相当耗时的。在很多
情况下,它会使你打消整合的念头。
SQL Server 2008 R2 会把这当作不正常现象。它提供了新的一组工具,这些工具是为
简化信息收集过程从而降低整合实例和数据库的周期而设计。
为多实例和多数据库提供更强的管理功能
DBA 在把大量实例整合到一台使用 SQL Server 2008 的主机时,面对的另一个问题是
需要一组强大的工具集来管理在该主机内的所有实例之间的负载量。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 6 of 82
例如:尽管 IT 专业人士可以借助于实例中的资源管理器做到这一点,但它不能管理
跨多个实例的负载量。通过用 SQL Server 2008 R2 实现新的中心管理的服务器,IT 专业
人士可以快速地把数据库添加到集中的服务器上,通过集中的控制板全盘浏览数据库元素,
并且可以从中央服务器扩展策略来管理跨 SQL Server 基础设施的负载量,数据库和实例。
这一新特性必然会令 DBA 们异常兴奋。
普遍深入的商业智能
使用 Gemini 项目的自助服务分析应当支持与 SQL Server 2008 R2 和即将发布的
Office Excel 2010 更紧密的整合。通过使用 Excel 2010,终端用户不只可以从多个数据
源生成和整合报表,他们还可以执行各种类型的分析(包括以非常高效的速度计算百万数
据量级的记录)。
IT 专业人士还将看到 SQL Server 2008 R2 与 Sharepoint 2010 的紧密整合,这样报
表被发布后供集中查看,同时可以为之应用各种级别的安全和版本。
企业不再需要花不菲的价格雇佣咨询顾问来生成 BI 报表,因为知识型员工应该能借
助于 SQL Server,Excel 和 Sharepoint 来完成大部分任务。理解了这一点,自助服务背
后的忙乱就更严重了。迄今为止,通过利用 SQL Server 2008 R2,似乎会有很多成本会被
节约。
主数据服务
大部分组织在整个企业范围内有多份数据或者数据库的拷贝。例如:某组织的销售部
门可能使用“客户”数据库,这个“客户”数据库则完全不同于市场部门使用的数据库。
不同数据库之间的不准确和不一致会导致时间的浪费,产生错误决策,有时甚至会导
致损失收入。通过使用 SQL Server 2008 R2 整合主数据服务,组织可以在整个企业范围
内通过中央主数据服务连续一致地获取数据,而且如果有必要的话,可以对主数据的历史
版本追查到某一指定时间点。
报表服务器增强功能
SQL Server 2008 增加的最大功能之一是通过空间数据扩展基于位置的数据。通过地
图,路线选择,自定义形状实现地理空间可视化能力的扩展,使得 SQL Server 2008 R2
报表服务功能更上一层楼。此外,通过强有力的新工具提供给开发者和终端用户以集中的
方式创作,集中和实现报表,使得报表得到了彻底的翻新。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 7 of 82
SQL Server 2008 R2 当前处于开发状态,发布的暂定进度在 2010 年上半年。由于与
Sharepoint 2010 和 Office Excel 2010 的紧密集成,发布日期与 Office 2010 产品的发
布有关。
社区技术预览(CTP,Community Technology Preview)很有可能会在这个夏天提供,
你可以通过在微软官方网站注册来接收 SQL Server 2008 CTP 的通知。最后,要注意本文
是基于 SQL Server 2008 R2 已公开的信息而写的。因为产品是 Beta 版,产品特性和上面
讨论的功能是可能有变化的。
(作者:Ross Mistry and Shirmattie Seenarine 译者:冯昀晖 来源:TT 中国)
原文标题:初识微软 SQL Server 2008 R2
链接:
/showcontent_
SQL Server 2008 R2 的十大变化
最新发布的 Microsoft SQL Server 2008 R2 与它之前的版本很不一样。虽然基本的
代码库没有变化,但是很多其它方面发生了变化,其中包括 2 个全新版本、多服务器管理
功能和许多业务智能改进。
然而,这种扩展性有一定的代价,所以很可能 PDW 受到的关注将更多来自于大型企业
——至少一开始会是这样。
2、SQL Azure 中的 SSMS 功能加强
SQL Azure 的其中一个目标是允许管理员使用与管理传统的本地数据库一样的方法管
理基于云技术的数据库。因此,Server 2008 R2 现在还没有完全支持(例如,并不是所有
T-SQL 语句都支持)。尽管如此,SQL Server Management Studio 的最新更新相对于原来
的社区技术预览版(CTP)已经有了很大的改进。
3、Report Builder 3.0
Microsoft 的最新版本 Report Builder 工具提供了许多 SQL Server 2008 所没有的数
据虚拟化功能,其中最棒的改进是添加显示空间和分析数据的图的功能。
作为 Microsoft 新的多服务器管理特性之一,DAC 最终应该会成为开发人员的工具,
虽然它也在变更管制过程中帮助 DBA。
5、纵向扩展能力加强
当然,前提是你还必须运行 Windows Server 2008 R2 来才能使用。虽然可扩展性有
时还是个问题,但是它对于诸如 SQL Server 这样的系统已经有了长足的进步。
6、PowerPivot
开发很长时间的 Project Gemini 最终可以在 SQL Server 2008 R2 版本中使用了。新
工具现在官方命名为 PowerPivot(我们更喜欢研发代码),它整合了 Microsoft Excel 和
SharePoint 来为企业创建一个自助的( self-service)BI 方案。
但是 Microsoft 很快指出它的优点不仅仅在于自助性。“它侧重于管理的(managed)
自助性,”SQL Server 业务组的组产品经理 Herain Oberoi 说,他强调 SharePoint 的整
合是帮助 IT 人员掌握数据库的关键。
7、StreamInsight
通过 SQL Server 2008 R2 新的 StreamInsight 组件,Microsoft 进入了复杂事件处理
(Complex Event Processing,CEP)竞争,其中相关的供应商还有 Oracle、IBM 和
StreamBase。
StreamInsight 所做的是允许组织决定(几乎)实时的流式数据。CEP 技术不同于传统
的数据库,新的组件能够使 SQL Server 更适合于财务服务、Web 分析等领域。
这个新功能是 SQL Server 2008 的 Data Collector 的进化,一旦创建好,DBA 可以快
速地监控他们环境中的资源使用情况。
9、报表服务改进
SQL Server 2008 R2 的 BI 特性受到很多的关注,但是系统也包含它现有工具的许多
10、主数据管理服务
SQL Server 2008 R2 安装
解决方案供应商声称:在给你的客户安装 SQL Server 2008 R2 之前,为了防止安装
过程出现问题,了解一下 SQL Server 2008 R2 的系统安装需求是很有必要的。这些软硬
件需求是因你的客户使用的操作系统而异的,与他们添加使用的特定软件组件也很有关系。
几个月前,微软发布了 SQL Server 2008 R2 CTP。与所有其他应用程序一样,安装该
产品也有一定的硬件需求和软件需求。对于一款新应用程序来说,弄清楚它的最低系统需
求看起来是相当简单的事情,但是 SQL Server 2008 R2 的系统要求比较深奥,最起码也
会令人感到有些困惑。本文会帮助解决方案供应商熟悉 SQL Server 2008 系统安装需求,
以便 R2 部署过程尽可能顺利。
如果你从来没有给你的客户部署过 SQL Server 2008 R2,你可能不知道为什么系统安
装需求还会这么难以理解。一些需求对所有的 SQL Server 2008 R2 部署都是共性的,但
是另一些需求会根据底层操作系统(OS)以及安装 SQL Server 组件的不同而不同。
SQL Server 2008 R2 的一般性系统需求
事实上,你不可能在压缩卷或者只读卷上安装 SQL Server 2008 R2,这就是一个一般
性的需求。与此类似,还有一个一般性需求,新部署的 R2 需要被安装在格式化为 NTS 格
式的磁盘上。FAT32 格式只有在升级更早版本的 SQL Server 时才支持。
SQL Server 2008 R2 还要求你安装微软的.NET Framework 3.5 SP1。可是,如果你没
有安装,安装程序会自动安装该组件,除非你是在安装 SQL Server Express 的各种版本
之一。如果你在安装 SQL Server Express,那么你必须手工安装.NET Framework。
有两个软件需求是所有 SQL Server 2008 R2 安装都必须具备的:微软 Windows
Installer 4.5 或以上版本和 IE6.1 或以上版本。你可能会对此感到疑惑,实际上 IE 是各
种管理界面用的,这些管理软件包括 SQL Server Management Studio,商业智能开发
Studio,报表设计器和报表服务。
SQL Server 2008 系统安装需求:R2 需要的硬件和内存
在所有的 SQL Server 2008 部署情况中,有几条硬件需求是始终要求的:
用来读取 SQL Server 安装介质的 CD 或者 DVD 驱动器。
分辨率 1024 x 768 以上的显卡和显示器。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 17 of 82
鼠标或者其他点击设备。
SQL Server 2008 R2 的内存需求随版本的不同差异很大。虽然如此,微软声称一般最
少需要 1GB 内存。当然,对于 SQL Server Express,最低内存需求就更小了,可以是
256MB 到 512MB,这取决于所安装的版本。
内存上限限制并没有严格要求。对于所有非 Express 版本的 SQL Server 2008 R2 来
说,微软推荐服务器具备 4GB 内存,尽管该推荐值在某些版本中被声明为“4GB 或以上”。
SQL Server Express 推荐的内存大小是大约 1GB。在某些情况下,推荐值被记录为
1GB,而在另一些情况下,它被记录为 1.024GB。
如果你想使用超过推荐数量的内存,那就要检查系统安装需求看是否超过了你客户
SQL Server 版本支持内存的最大数量。在有些情况下,SQL Server 支持的内存数与
Windows 操作系统支持的内存数是相当的,但是情况并非总是如此。
SQL Server 2008 系统安装需求:R2 需要的硬盘空间
安装 SQL Server 2008 R2 需要的磁盘空间数量根据你安装定制组件的不同而不同。
虽然如此,不管你部署的 SQL 版本是 32 位的还是 64 位的,磁盘空间需求是一样的。下表
是微软发布的资料中记载的磁盘空间需求:
特性组件 磁盘空间要求
在安装期间临时文件所占用的空间需求。 2GB
数据库引擎和支持组件。 280MB
SQL Server 分析服务(SSAS)。 90MB
报表服务和报表管理器。 120MB
SQL Server 集成服务(SSIS)。 120MB
客户端组件。 850MB
SQL Server 联集丛书。 240MB
值得注意的是:上表只列出了安装 SQL Server 2008 R2 和它的各种组件的磁盘空间
需求,其中没有包括容纳客户数据的磁盘空间需求。
正如你所看到的,SQL Server 2008 R2 系统需求的最低标准很普通。然而,最重要的
是要记住该需求随你所安装 SQL 组件的不同和你的客户采用的操作系统的不同变化相当大。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 18 of 82
利用 Sysprep 工具加快 SQL Server 2008 R2 部署
SQL Server 2008 R2 的发布给我们带来了在 SQL Server 世界里闻所未闻的功能,即
提供了一个部署 SQL Server 服务器映像的能力。这个功能通过 Sysprep 来实现,Sysprep
是一个已经在 Windows 操作系统上使用多年的工具。
Sysprep 允许系统管理员删除一台计算机上的所有账户、计算机名称和安全标识(SID),
然后再创建一个映像。这个映像可以被部署到物理机或虚拟机上。当新的计算机启动时,
它要求的大部分信息都可作为 Sysprep 过程的一部分进行配置,比如计算机名称、
Windows 域名称和网络设置。
如果一切顺利的话,映像部署后新的计算机启动时唯一一个需要回答的问题就是“计
算机名称是什么?”。通过 Sysprep 工具,其他的环境设置都可以预先配置。
使用 SQL Server 2008 R2,现在我们可以在基础映像里预先配置 SQL Server 组件,
在计算机被部署后允许通过 Sysprep 配置 SQL Server。你可能会觉得在虚拟机里部署 SQL
Server 是最有用的,这是因为大量的面向 Sysprep 的服务器正在虚拟机中部署。
一步一步部署 Sysprep
SQL Server 2008 R2 的安装过程被分解为两个独立的步骤:准备映像和完成映像。第
一步是安装二进制文件,第二步是配置计算机、网络和特定账户的具体信息。通常在安装
SQL Server 时,这两个步骤都是由安装程序完成的。与之相对应的,当使用 Sysprep 部署
SQL 服务器映像时,只是“准备”步骤完成。“完成”步骤则是在映像被部署到新机器后
完成的。
当部署一个 Sysprep 映像时,不是所有的 SQL Server 组件都可以安装。你只可以安
装 SQL Server 数据库引擎和 Reporting Services 组件。SQL Server Browser 和 SQL
Server Writer 将在 SQL Server 实例完成时自动安装。
要使用 Sysprep 安装一个 SQL Server 实例,可以像平常一样运行 SQL Server 2008
R2 的安装程序,但是需要在左边的安装菜单选项中选择“高级”选项。然后在右边选择
“SQL Server 独立实例的映像准备”选项。接下来会打开一个被简化的向导,问你要安装
哪些服务以及安装在哪里。当进入组件选择页面时,你会发现少了几个选项,你只能选择
数据库引擎、SQL Server 复制、全文搜索和报表服务四个组件。你需要安装的任何其他功
能都会在映像被部署后自动准备。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 20 of 82
在选择好你想安装的功能后,你就可以配置实例名称和实例路径。然后,你将按向导
指引确认是否有足够的硬盘空间和设置的安装选项是否正确。最后,安装程序将安装二进
制文件到服务器并在完成后自动退出。
一旦安装程序退出后,这台机器就可以使用 Sysprep 工具来进行配置。虽然你不能选
择安装 Browser、Writer 或者 SQL Native Client 组件,它们会在实例完成后被自动安装。
映像被部署后有两种方法来完成安装。首先,你按照如下路径:
开始菜单 > 程序 > Microsoft SQL Server 2008 R2 > 配置工具 > 完成 SQL Server
2008 安装
另外一个选择是从 SQL Server 2008 R2 DVD 启动安装程序,导航到高级选项卡,在
右边单击“已准备的 SQL Server 独立实例的映像完成”选项。无论是哪种方法,你都可
以通过安装向导有效地完成其余部分的安装。
当你使用 SQL Server 2008 R2 Express 以外的版本的介质安装时,可以选择安装评
估版。一个完整的安装过程需要一个产品密钥。请注意:如果你选择评估版,安装向导完
成会设置一个 180 天有效期限制。
Sysprep 的缺点
使用 Sysprep 安装 SQL Server 2008 R2 也有一些具体的限制:
对于 SQL Server 故障转移群集安装,不支持 SQL Server SysPrep。
SQL Server 工具不支持使用 SQL Server SysPrep 进行安装。
使用安腾处理器的计算机不支持 SQL Server SysPrep 安装方式。
不支持修复已准备实例。如果在“准备映像”或“完成映像”步骤中安装程序
失败,您必须运行卸载后重新安装。
不能在运行低于 SQL Server 2008 R2 的 SQL Server 版本的计算机上准备 SQL
Server 2008 R2 实例。
当使用 Sysprep 准备部署的服务器时,32 位版本不能使用 Windows on
Windows(WOW )64 功能安装在 64 位 Windows 上。
如果你需要卸载之前或之后完成的过程已经发生的实例,它可以在“控制面板”
点击“程序和功能”图标来完成。
正如你所看到的,使用 Sysprep 部署特性可以大大加快在物理或虚拟环境中部署新的
SQL Server 2008 R2 服务器的速度。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 21 of 82
SQL Server 2008 R2 并行数据仓库简介
那些参加 PASS2009 高层会议的朋友们可能已经见识了微软 SQL Server 2008 R2(以前
的代号是 Madison)并行数据仓库的新特性。
然而,如果你没有出席这次高层会议,而且你有一个很大的数据仓库,需要的处理能
力比单个服务器可以提供的处理能力更大,那么 R2 的并行数据仓库版本可能就是你想要
的。
并行数据仓库意味着什么?
并行数据仓库所做的是支持你跨多个物理 SQL Server 服务器对你的数据仓库扩展。
它工作的方式是:所有连接都连到一个控制者服务器。你查询该控制者服务器时,它
会把请求发送到子节点,然后这些子节点会处理这些请求并把结果发回到控制者节点。然
后,它会按需要合并这些结果,并像你正常预期的一样把这些结果送回到客户端。
图 1 展现了该系统的物理分布基本结构图。客户端连接到控制者节点,然后这些节点
处理该请求并找到数据位于哪一个节点之上。然后它会把请求发送到工作者节点来执行这
一繁重的任务。
在这种配置下工作,所有查询从你运行查询开始到工作者节点开始运行之间会有几秒
时间延迟。在这段时间内控制者节点在做它的工作。一旦控制者节点完成了它的工作,你
会看到工作者节点上的所有 CPU 都会开始处理该请求。
揭秘并行数据仓库的成本
上一篇文章中,我们介绍了 SQL Server 2008 R2 并行数据仓库的一些工作原理,下
面我们来深入探讨一下它在成本等方面的情况。
成本如何
就像所有美好的事物一样,这种解决方案也会带来成本代价的增加。在这种解决方案
中,涉及的代价就是钱,需要花大笔钱。设计采用并行数据仓库特性的解决方案有一些重
要的硬件需求,会给本来就不低的软件价格再加上一笔。
在硬件方面,你需要一个控制者节点和至少四个工作者节点,所有这些节点都必须至
少是四芯片服务器。你还需要有一个读写速度非常快的存储阵列,比如 IBM 或者 EMC 的
SAN。还有,这种方案还需要软件授权,每一个节点都需要 SQL Server 2008 R2 并行数据
仓库版的授权,(上面列出的)每个 CPU 需要 57,498 美元。
现在,你还不能这就出去购买并行数据仓库版软件,然后安装并自行运行。你必须在
从授权供应商购买硬件的同时购买软件,获得一个授权包。他们还会推荐给你一个授权的
顾问,他可以帮你实现这种解决方案。
但是你花这些钱得到的是一个非常非常可扩展的解决方案,支持你运行一些以前永远
也不可能运行的复杂查询,因为这些查询花费的时间实在太长,长的基本不可能完成,所
以他们引入了数据仓库。
关注它的理由
很显然,问题变成了我们为什么要为这种解决方案投资。如果你所处环境的并不是一
个大公司,那么你可能不需要。因为从财务角度考虑,并行数据仓库实在是太大,部署成
本太高。然而,如果你处在更大的公司中,这种 R2 解决方案会支持你从你的数据中获取
到更多信息。
SQL Server 是一个数据资产库,它利用处理能力(有时候会损失一些)把数据转换成业
务单元可以用来推动公司向前发展的信息。这一解决方案将给企业带来帮助,支持他们以
前简直不能实现的方式查询数据。
如果你把这种新的处理能力与其他特性结合起来使用,比如 PowerPivot For
Excel(它也包含在 SQL Server 2008 R2 的发布版本中),SQL Server 报表服务(SSRS)和微
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
使用并行数据仓库所面临的挑战
问:要迁移到大规模并行处理(MPP)架构和并行数据仓库版本的 SQL Server,摆在
组织面前的都有哪些类型的挑战?
答:如果你有内部实现 DatAllegro 或者其他大规模并行数据库产品的经历,那么你
可能可以经历更短的学习曲线。
对于传统 SQL Server DBA,更习惯于纵向扩展架构,而不是对当前的 SQL Server 利
用许多并行分布式技术,它们交互,管理和监视并行数据仓库的方式会有一些差异。在
PDW 中有新的命令和服务以熟悉数据迁移服务(DMS),把所有分布式 SQL Server 节点连接
到一起的核心部件,和装备有商品硬件装置的产品等。
这是一种与其他 SQL Server 版本不同的方法,可能也是与目前 SQL Server 团队习惯
与数据库交互方式不同的方法。如果你有 DatAllgro 或者其他大规模并行处理数据库产品
方面的内部经验,那么你可能需要经历更短的学习曲线。
问:在并行数据仓库环境下一些管理流程发生变化怎么办?数据库人群可能还没习惯
使用。
答:并行数据仓库是一种分布式 SQL Server 环境,因此为了使 DBA 的管理工作更轻
松,PDW 包含了管理服务器控制机架来实现集中管理的整套 PDW 解决方案。新的并行数据
仓库和 SQL Server 动态管理视图(DMV)将浮出水面,它带有基于 Web 的管理控制台。此外,
你可以预期通过 DMV 查看硬件和软件组件的状态。还有警告,可以被配置为企业监视工具,
为管理员工具报警。
你可以期待利用命令行工具实现自动化,针对分布式的和远程的表,一些新的 T-SQL
语法在这个 SQL Server 版本中是可用的。
(作者:Mark Kromer 译者:冯昀晖 来源:TT 中国)
原文标题:使用并行数据仓库所面临的挑战
链接:
/showcontent_
Page 27 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
提升并行数据仓库的投资回报率
问:并行数据仓库授权比企业版或者标准版 R2 的价格要高很多。你认为什么类型的
组织最有可能从实施 PDW 中获得最大的投资回报率?
答:微软对 SQL Server 2008 R2 所做的就是发布不同的版本(像数据中心 Datacenter
和并行数据仓库 PDW)来满足具体客户的需求,一般负载和不同的需求。
你要做的第一件事是查看你想让 SQL Server 支持的解决方案的类型。对于超过 50TB
的数据仓库,并行数据仓库将是可扩展性最好的,表现最佳的选择。在做决定之前,你应
该考虑整体采购成本,总拥有成本和三到五年的投资回报率。
有了并行数据仓库,设计 SQL Server 数据仓库架构,高可用性和存储架构涉及的时
间和成本已经变成了 PDW 的成本,并且以预调整和优化顺序 IO 格式化的装置交付给你。
在大部分情况下,PDW 对于支持巨大规模数据仓库并需要对预增长负责的组织是非常合适
的选择。
SQL Server 2008 R2 多服务器管理:设置通用控制点
SQL Server 2008 R2 最令人期待的新功能之一是以多服务器管理为中心的功能。根据
当前社区技术预览(CTP)的提法,这一特色被称为通用控制点(utility control point,
UCP),因而本文中引用的也是这种提法。
通用控制点允许你收集大量多 SQL Server 实例的指标,并把这些数据显示在易于使
用的仪表盘报表中。这种报表仅在 SQL Server Management Studio 的一个界面上就提供
了对你整个企业的概览。该通用控制点是通过在作为通用控制点运行的服务器上创建数据
库来做到这一点的。然后,受监视的实例会把他们的数据上传到通用控制点。
在为你的企业环境设计通用控制点服务器时,有一些授权限制你要了解。SQL Server
R2 企业版支持你建立(最多)25 个受监控的示例。要建立更多服务器,你需要另一个企业
版通用控制点或者 SQL Server 2008 R2 数据中心版实例(该版本对登记于通用控制点上的
服务器数量没有限制)。
设置通用控制点
在你开始从通用控制点中抓取数据之前,你必须先进行设置,你得先打开工具浏览器。
在 SQL Server Management Studio 中点击“视图”下拉菜单,选择“工具浏览器”。这
样就会在当前面板中打开另一个标签页,对象浏览工具就在那个标签页上。然后你可以点
击右边的“创建通用控制点”按钮来创建一个新的通用控制点,如图 1 所示。这个动作会
启动创建通用控制点向导。
向导的第一页为你提供的是标准介绍页。第二页要求你选择为通用控制点服务的服务
器实例,你还可以对该新建的通用控制点命名,以区别于你企业内的其他通用控制点。
SQL Server 2008 R2 多服务器管理:使用通用控制点
使用通用控制点
SQL Server 2008 R2 多服务器管理:修改临界值
修改临界值
对于通用控制点,微软设置了相当数量的默认值。你可以通过在工具浏览器中选中的
通用控制点下面点击“工具管理选项”来修改设置。默认情况下,对所有过度利用的设置,
临界值都是 70%,所有未充分利用设置的临界值是 0%。70%的过度利用设置可能对大部分
人来说很合适,但是你可能想调整 0%的未充分利用设置,这取决于你给定系统的标准服务
器负载。
在这里,你可以每隔一定周期调整一次估计值,以及可以调整在 CPU 报警被触发之前,
它们必须被违反多少(与估计值的偏差程度)。
对于高利用率的警报,可以用一个滑动条从短到长进行调整来实现,短的可以是一小
时,长的可以达到一周。然后,你可以设置警报触发之前违反量必须达到的百分比。
如果需要的话,你可以通过编辑受管实例,点击实例属性中的“策略明细”标签页来
指定针对特殊实例的策略。在这里你可以给实例配置特殊设置,如果这些实例与受通用控
制点管理的其他服务器应用的全局策略不一致的话。
最后的步骤
现在你已经有了这些信息了,关键是找到用它来做智能决策的方式。通过简单的一瞥,
你可以看到哪些服务器负荷过度了,哪些服务器上还有可用空间。这样你就应该可以更好
地利用你的环境。简单来说,如果你知道甲服务器上的数据库应用占用高 CPU 负载,而乙
服务器占用的 CPU 负载很低,那么那个数据库应用可能就很适合从一台服务器移到另一台
服务器。
分析 SQL Server 2008 R2 数据层应用的优缺点
利用 SQL Server 2008 R2 和 Visual Studio 2010 的紧密集成,微软给我们带来一个
称为数据层应用(data-tier applications ,DAC)的新功能。将 Visual Studio 的 DAC 部
署到 SQL Server 是通过一个数据层应用程序包,即 DACPAC 来完成的。
优点
DACPAC 相比较在 SQL Server 上部署细微的应用程序更改来说变化很大。它允许代码
保持在现有源码控制范围之内,并为开发人员提供一个简单的方法在已熟悉的 Visual
Studio 环境中编辑 SQL Server 对象。这意味着开发人员可以对他们开发的数据库进行所
有的编码,然后将所有更改打包成一个 DACPAC 进行上线。该 DACPAC 也可以被 DBA 处理后
发布到生产或测试环境。
DACPAC 通过数据层来处理数据库更新,为开发人员提供了一个简易的方式来进行数据
库开发,使得.NET 开发人员有能力来编写数据库的表、存储过程、视图和函数。
缺点
首版的数据层应用存在几个问题。第一个问题就是 DACPAC 并非支持 SQL Server 引擎
的所有特性,包括在 SQL Server 的 Service Broker、CLR 对象和最为重要的 SQL Server
安全。
现在,使用既定的脚本可以支持所有的这些特性,不过这不是最好的解决办法,为了
创建和管理对象以及安全性,开发人员必须知道所有适当的 T - SQL 命令。
目前 DACPAC 只能支持到 SQL Server 2008 R2,而且他们必须使用 Visual Studio
2010 来开发。
(作者:Denny Cherry 译者:宋广磊 来源:TT 中国)
原文标题:分析 SQL Server 2008 R2 数据层应用的优缺点
链接:
/showcontent_
Page 35 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
数据层应用(DAC)与 SQL Azure 数据库的协作
DACPAC 与数据层应用相关的最大问题是如何将 DAC 的更新发布到 SQL Server。这通
过一个临时名称创建新数据库,在数据库中生成新的对象,然后将现有数据库中的数据移
动到新数据库中来完成。在所有数据被转移后,运行既定的脚本,现有的数据库被删除,
新数据库更正为其名。
这种发布技术导致数据库至少需要两倍的数据空间,以及足够的日志空间至少能容纳
目标数据库事务日志中的最大对象。例如,你的数据库是 5 GB、最大数据表是 500 MB,
你需要能够容纳 5 GB 数据库和能够容纳 500 MB 数据表的事务日志的磁盘空间。
这项技术有几个问题。首先,你的事务日志变得毫无用处,这是因为数据库被重命名,
在数据库的升级过程中不能恢复事务日志。
另一个问题是如果在数据库中使用 SQL Server 的 Service Broker,升级过程队列中
的所有信息会丢失,在升级过程发布之后、完成之前数据表中所做的任何数据更改也会丢
失。
现在可以为一个现有的数据库开发 DACPAC 以使得它并不仅仅为新项目所使用,但并
非所有的数据库都可以成功地转换为 DACPAC。
为什么要使用数据层应用程序呢?
看完这一切,第一个问题可能就是为什么还要使用 DACPAC?答案很简单,即 SQL
Azure。也许你已经意识到 DACPAC 支持的特性与当前版本的 SQL Azure 的特性相当吻合。
由于少量数据可以通过 Azure 适配到数据库(1 GB 或 10 GB,取决于购买的数据库大小),
所以使用 SQL Azure,你不必担心备份,这已被此方案的冗余技术所解决。
只要你能根据 DACPAC 平台的条件工作,为 SQL Azure 数据库设计的数据层应用完全
能够被用来处理本地的内部数据库。
由于 DACPAC 系统所使用的发布技术,建议您不要为 Tier 1 应用程序或者为 SQL
Azure 支持的大于 10GB 的数据库应用程序使用 DACPAC。这样做将在新旧数据库间移动数
据的升级过程中需要更长的停机时间。
显然微软还没有作出有关 DACPAC 第二版的任何通告,这一版本据说能够支持 SQL
Server 2008 R2 的其他功能集并允许 DACPAC 去支持微软 SQL Server 的早期版本。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 36 of 82
使用 VS2010 进行 SQL Server 2008 R2 DAC 开发
数据应用层程序(Data-Tier Application Component, DAC)是 SQL Sever 2008 R2 的
一大功能亮点,结合使用 Visual Studio 2010,可以帮助开发人员和数据库管理员比以前
更加有效的开发、部署、管理应用程序的数据层。
数据库应用层程序(DAC)是一个包含了几乎某一应用所需要的数据库及实例对象的实
体,如表、视图、存储过程、登录等等。有了实体以后,开发人员或数据库管理员就可以
把 DAC 打包成为一个单一实体,这个单一实体就是 DAC 包。 DBA 可以把 DAC 包部署到 SQL
Server 上,数据库管理员就可以把原本独立的对象视为一个数据库应用层的程序来进行部
署、监控和管理。
DAC 既为开发人员提供了新的数据库开发工具,又为 DBA 提供了数据层管理工具,开
发人员开发出 DAC 应用后,通过 VS2010 IDE 的编译,打包成 DAC 包(其扩展名是.dacpac)
并提供给数据库管理员,DBA 通过 SSMS 把 DAC 包部署到 SQL Server 数据库上。DAC 应用
开发、部署、管理的整个过程如图 1 所示:
图 1 DAC 开发和生产过程
对 DAC 有了大概了解后,接下来我们以一个完整的实例结合 VS 2010 来介绍 DAC 应用
程序的开发和部署过程。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 38 of 82
这里我们分成三个部分:DAC 开发环境、创建 DAC 应用、部署 DAC 应用。
开发环境
在 VS 2010 和 SQL Server 2008 R2(包括 SQL Server 2008)之前,我们是不能单独在
Visual Studio 或者 SQL Server 里创建 DAC 的,以 VS 2008+SQL Server2008 开发环境为
例,在此环境下可以创建的数据库项目如图 2 所示:
SQL Server 2008 R2 DAC 包的创建
使用 AdventureWorks 创建 DAC 包
为了验证 SQL Server 2008 R2 中 DAC 对 SQL Server 对象的支持,我们以 SQL Server
2008 R2 的实例数据 AdventureWorks 为例来演示。
对已经存在的数据库 SQL Server 2008 R2 可以使用向导来创建数据层应用程序,使
用向导页面,可以设置 DAC 属性,查看对象依赖项和验证结果和生成 DAC 包。
(1)打开 Microsoft SQL Server Management Studio,右击 AdventureWorks,选择任
务|提取数据层应用程序(X)„
(2)在弹出的页面中可以看到 DAC 简介,点击“下一步”,设置 DAC 属性,这里可以
设置的属性有:应用程序名称、版本号、说明、保存的 DAC 包文件
图 4 使用 VS2010 创建数据层应用程序
同时在应用程序模板的右侧我们可以看到数据层应用程序的概念和作用。
2.创建 DAC 应用
开发人员创建 DAC 应用后,需要对数据 DAC 应用做一些初始化,这些初始化的操作可
以是创建表、字段、视图,不仅如此,还可以把已经存在的 DAC 包导入,或者直接导入脚
本来创建 DAC 应用。
图 5 创建 SqlDacDemo
在图 4 所示界面中,我们可以看到使用 VS 2010 创建 DAC 应用程序后,可以创建和实
现的功能有:Data Generation Plans、Schema Comparison、Schema Objects、Script。
其中 Schema Objects 是我们在此演示案例中主要创建的对象,使用 Schema Comparison
可以对数据库的 Schema 进行比较,常用来对同一个应用的不同版本 Schema 进行比较。
在此演示案例中,我们创建两个数据表:Users 和 Products,并对 SqlDacDemo 项目
进行编译打包,为第三步部署 DAC 应用做好准备工作。
SQL Server 2008 R2 DAC 部署
输入 Users,点击“Add”,创建 ,重复步骤 1,添加
,输入创建用户表(Users)和产品表(Products)的脚本,完成后可以在
Schema Objects|Schemas|tables 下增加了两个文件 和
,这样我们创建表的工作已经完成了。
我们可以直接写 SQL 脚本来创建数据表,不仅如此,在 DAC 项目中,还可以创建的内
容有:
在项目属性里设置项目版本、默认 Schema、
数据层应用属性,如 DAC 的名称、版本、描述
Schema 对象,如 Assembly、Trigger、安全、服务、存储、表、视图、函数
所有数据库引擎实例级别的对象,例如错误信息、连接的服务器
其他辅助文档和一些脚本,如部署前准备脚本及部署后清理脚本等等
图 7 项目属性设置
如图 7 所示,在项目属性页里,可以项目版本、数据模型、默认的 Schema,数据层应
用属性,这里的重点是数据层应用属性,其可设置属性有名称、版本号、描述。
选择 Build 页,设置数据集合、编译输出文件路径、编译输出文件名称,设置完成后,
点击保存。
(3)编译工程文件,选择菜单 Build| Build Solution,可以看到:
SqlDacDemo -> E:
Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
这说明我们的编译已经成功,右击我的电脑|打开->
E:DemoSqlDacDemoSqlDacDemosqldebug,看到打好的 DAC 包文件
。
3.部署 DAC 应用
创建 DAC 包成功后,需要把 DAC 包部署到数据库服务器上去,如果是开发人员测试部
在 VS 2010 中部署 DAC 包
在步骤 2 中,我们创建并打包好了 DAC 包文件 ,接下来就要把这
个包部署到数据库服务器上去,可以使用 VS 2010 来部署 DAC 包,也可以使用 SSMS 来部
署 DAC 包。首先我们演示使用 VS 2010 来部署 DAC 包。
(2)解决部署错误
(1) 可以选择菜单 Build | Deploy SqlDacDemo 部署,也可以右击解决方案名称
“SqlDacDemo”,选择 Deploy 部署,部署结果如下:
图 8 部署 DAC 包
由图 8 我们可以看到失败的原因是没有连接到数据库,解决方法如下:右击解决方案
SqlDacDemo,选择属性,打开项目属性设置,选择部署(Deploy)页,设置要连接的数据和
数据库实例名称,本例中设置为 SqlDacDemo,保存后再次部署,我们可以看到编译器输出
如下代码:
Post-Deploy: Finished script execution.
Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
Deploy: 1 succeeded, 0 failed, 0 skipped
VS 2010 已经提示我们部署成功,使用 SSMS 打开数据库,我们可以清楚的看到 SQL
Server 已经添加了数据库 SqlDacDemo。
除了使用 VS 2010 来部署 DAC 包,我们也可以使用 SQL Server 2008 R2 所带的实用
工具管理器来部署 DAC 包。实用工具管理器部署 DAC 包主要实现两个主要步骤:创建并连
接 UCP、使用部署向导部署 DAC 包。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 48 of 82
(1)打开查看|使用工具资源管理器,打开配置 SQL Server 实体的操作的界面如图 9
图 10 部署 DAC
如果我们把刚才使用 VS 2010 编译的 包直接拿来部署,SQL
Server 会提示我们已经存在同名的 DAC 实例,这也为我们以后更新 DAC 包留下了一条后路。
点击“部署应用层程序”后,会弹出向导,根据向导选择要部署的 DAC 包,更新配置,
部署 DAC,部署 DAC 是最后一步,同时也是部署 DAC 最关键的一步,包括准备元数据、准
备部署脚本、创建数据库、在 MSDB 中注册,都提示成功后就可以把 DAC 包部署到 SQL
Server 服务器上。刷新数据库,就可以看到已经创建了新的数据库,切换到实用工具资
源管理器,可以看到如图 11 所示的界面:
图 11 已部署的数据层应用程序
在这里我们可以看到已经部署的 DAC 包 SqlDacDemo。
总结语
数据应用层程序(Data-Tier Application Component, DAC)提供了全新的方法来管理
数据库,对 DBA 来说,可以通过 SQL Server 2008 R2 来创建、配置、更新、删除和管理
DAC;对 VS 开发人员来说,可以通过 Visual Studio 2010 来创建和部署 DAC。有了这样简
SQL Server 2008 R2 最新功能:主数据服务
如果说 Microsoft 在开发 SQL Server 2008 R2 时有特别关注的方面,那就是商业
智能。Microsoft 的新最数据库管理系统(DBMS)产品将在 2010 年上半年发布,它增加了
支持 BI 的改进,如 Excel 的 PowerPivot,之前的代码称号为 Gemini。
R2 是在 SQL Server 2008 发布后不到两年时间内定下来的,它包含了自己的 BI 特
性共享以及 SQL Server Analysis Services、Integration Services 和 Reporting
Services 的改进。
下表概括地显示了 SQL Server 2008 R2 版本中将发布的其它一些特性:
PowerPivot (代码前称为 Gemini) Excel 和 SharePoint 的插件 PowerPivot
Parallel DataWarehouse (代码前称为 新版本的 SQL Server 2008 R2 的设计改进
Madison) 了多服务器上数据仓库的可扩展性。
Reporting Services 增强 SQL Server Reporting Services(SSRS)
可以管理自助 BI。
的增强包括报表部分、共享数据集和
SharePoint 整合
尽管出现了这个新技术,但是大多数组织仍然在生产环境中使用 SQL Server 2005
—— 并且大多都愿意继续这样做。
那么如何才能说服公司进行升级呢?很可能,只有实质性的商业利益才能促使公司投
入宝贵的时间和资源进行迁移 —— 而这些都是小调整和改进所不能实现的。
然而,Microsoft 通过 SQL Server 2008 R2 向它的 BI 平台添加了一个新特性:
Master Data Services,这个特性一定能够吸引到这些还在犹豫的公司进行升级。
虽然 MDS 对于 SQL Server 而言还是新东西,但是它是一个起源于 Stratature 产
品的成熟技术,而 Stratature 是 Microsoft 在 2007 年收购的一家公司。
Stratature 技术当时被认为是很强的,因为它已经在 SQL Server 上开发了。它也
填补了 Microsoft 相对于其它企业供应商在基础架构上的空白,如 IBM、Oracle 和 SAP。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 52 of 82
Master Data Services 的潜在问题
Master Data Services —— 和通常的主数据管理(MDM) —— 的主要目的是一致性。
对于运行多个数据库的较大型企业而言,这是一个极大的挑战,因为这些数据库的相同属
性上都存在细微差别。
Quest Software 负责 SQL Server 解决方案的主管 Kevin Kline 说:“当你想要将
所有数据放在一起并生成报表,组织通常会发现他们会遇到真正的数据质量问题。当你想
要实现一个主数据策略的时候;它是一种版本事实,或者我们所谓的‘引用数据’。”
存在多种“版本的事实”往往就是大多数数据质量问题的根源。举一个简单的例子,
有两个数据库,它们分别都装有客户数据。其中第一个数据库可能记录着 John Smith 在
Hewlett-Packard 工作;而另一个数据库则记录他在 HP 工作。这样,同一个公司就存在
有两种“版本”的记录。
对于报表来说,清除类似的不一致性会使数据库人员增加不少的时间和压力。
Microsoft 开发 Master Data Services 的目标是提供一种更简单的、更划算的方法来保
持数据在多个系统中的一致。
“MDS 做得很好的是它能让你创建你的记录数据,”Kline 说:“它会给你一个版本
的事实,当你拥有许多数据库时,这将是很有用的。例如,你就不会记录一个客户对应 8
个不同公司名称。”
Herain Oberoi 是 Microsoft SQL Server 业务小组的产品经理,他认为 MDS 是公
司 BI 平台的一个重要的辅助。Oberoi 说当客户在创建一个 BI 解决方案时,他们并不
愿意去猜测他们的主数据引用在什么位置,而且他补充道,MDS 设计拥有多种解决该类问
题的方法。
“有一个关于运行的主数据概念,它是保持系统同步的,”Oberoi 说:“„„ 然后
还有一个分析的主数据概念,它并不只是保持业务系统和传统产品线的同步,它还保持这
两个系统与我的数据仓库同步。”
(作者:BRENDAN COURNOYER 译者:曾少宁 来源:TT 中国)
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 54 of 82
主数据服务的相关业务案例
Microsoft 将 Master Data Services 看作是目前的 BI 特性的一个自然辅助,而
Kline 也同意这个观点。“它能够与 Microsoft BI 平台的其余部分很好地协作,”他说,
但是要注意 MDS 并不适合于那些商业智能还没有成为第一优先级的组织。
“这可能是一种小公司并不感兴趣的东西,但是一旦你创建了 BI 策略,你就会开始
看到所有地方都会需要它。它在 SQL Server Analysis Service 出现之后的几年里产生是
很有意义的,因为许多人都将它作为第一个 BI 工具使用,”Kline 说。
建立了 BI 策略的较大型公司对于 MDS 会有更大的兴趣,这对于 SQL Server 2008
R2 而言也是一样适用的。虽然主数据管理解决方案并不是什么新鲜事,但是实现这样一
个项目一般是高成本和费时的过程。
Kline 说类似于 MDS 的服务对于运行着 SQL Server 的组织来说是非常划算的。
“Microsoft 在其它 BI 工具市场上也处于相同的地位,这原先是一个高端市场,而现在
公司将对它进行简化和降低价格。”
他指出 MDS 的另一个省钱的特性源自于它的过程自动化功能。“每次你雇人完成这
些工作时,总是需要一定的资金投入。”他解释说。“MDS 一个很大的功能是过程改进和
过程自动化。你不再需要雇佣一个顾问,事情就会变得更简单,你只需要自己去完成。”
MDS 的其它好处包含改进的数据清理操作和过程管理功能。而后者是用来帮助指导数
据库人员正确地清理他们的数据的。
(作者:BRENDAN COURNOYER 译者:曾少宁 来源:TT 中国)
原文标题:主数据服务的相关业务案例
链接:
/showcontent_
Page 56 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Master Data Services 存在可提升的空间
虽然它来源于成熟的技术,但是 SQL Server 2008 R2 的 Master Data Services 还
只是第一个版本。因此,相对于其它竞争产品,这个技术还有一些问题需要解决,这一点
也不奇怪,这很可能给 Microsoft 的合作伙伴带来参与 MDS 改进的机会。
“由于 SQL Server 产品确实是很普通,所以它将不会马上为你提供相同的内置工具
集,”SQL Server MVP 和 BI 架构师 John Welch 说:“可能在接下来几年内,我们可
以看到供应商开始提供扩展的插件来解决这些问题。有待改进的一个重要领域可能涉及到
识别相同客户的不同版本的逻辑方面。”
Welch 说虽然 MDS 的许多功能都是用来清理各种不同的属性,但是它可能在识别实
际上不同的相似客户时还不够成熟。例如,区分名为 Jon Smith 和 John Smith 的客户
—— 他们有相似的姓名但拼写不同。
“有一些现成的产品更擅长于进行这些类型的处理,而且能够找到相匹配的数据,然
后指出这个是相同的,而另一个不是,”Welch 说。“我们在 MDS 的第一轮使用中将不
会看到它很有效地完成这样的处理。”
在这个领域有另一个供应商走在前面,它就是 Zoomix,Microsoft 在 2008 年收购
的一个数据质量软件公司。虽然 Zoomix 的数据质量软件将不会成为 SQL Server 2008
R2 Master Data Services 的一部分,但是 Welch 说它将很可能在 MDS 的下一个版本中
发挥作用。
尽管如此,SQL Server 2008 R2 仍然会给正在寻求扩展商业智能策略以保证更高水
平的数据质量的公司带来很大的变化 —— 特别是如果这些公司已经在使用 SQL Server
的 BI 工具。
“记住,这是一个你不愿意在第一个 BI 项目就使用的工具,”Kline 说。“当你说,
‘现在一切都运行良好,但是我们发现我们的数据有些混乱,那么我们应该怎么清理它
呢?’这就是使用它的时候了。实际上,它是你完成 BI 项目之后的跟进工具。”
(作者:BRENDAN COURNOYER 译者:曾少宁 来源:TT 中国)
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 57 of 82
不升级 SQL Server 2008 R2 前提下享受主数据服务
在选择一种方法前你需要做的第一件事是决定哪种系统将成为你企业的主系统。对于
员工数据这类信息来说,这种系统通常是你的人力资源系统。而客户数据会使用你的销售
系统或者客户关系管理(CRM)系统。这一步非常重要,因为选择不正确的主系统将引起数
据冲突,并可以引起把不正确值录入系统作为授权数据的冲突。
主系统安装的基本方法
设置主系统的最容易的方法是:遵守迁移源数据到所有需要主数据的系统这一基本前
提。例如,如果你的客户服务系统需要你的员工数据,就从源数据库到目标数据库复制这
些数据到需要的表。
接下来,你如何在系统之间复制数据就变成关键问题了。你的每一个目标系统可能有
它自己的主键,与你的源系统是不同的。例如,如果你正从你的人力资源系统复制你的员
工数据到你的销售系统或者 CRM 系统,已经进入你销售系统和 CRM 系统的那些记录可能与
人力资源数据库中的员工 ID 值不匹配。要使这种复制行得通,你需要在销售系统和 CRM
数据库中找某个地方存储来自人力资源系统的主键。这取决于你数据库的模式,你可能已
经有了可用的列。如果没有,需要增加一列来保存这种值。
一旦你已经明确了从你源表来的主键(本例中就是员工 ID)将会保存在哪里,你需要识
别将从源系统复制到目标系统的其他列映射。此时你要保证像员工姓名这类字段已经映射
到了名字字段,并且设置了正确的团队归属。一旦你的映射工作正确完成之后,在你的系
统之间转移的数据需要被确定,包括你数据复制的频率。
对于像员工数据这类信息,你可能决定你只需要每天或者更高的频率复制数据,而从
你销售系统向 CRM 系统复制的客户数据可能需要近乎实时地复制。你的数据复制选择取决
于你的 SQL Server 版本,和你源系统和目标系统使用的数据库平台。如果你是为只运行
微软 SQL Server 的商店工作,那么你的选择范围就比较开放。然而,如果你不得不从(或
者向)Oracle,IBM DB2 或者微软 Access 复制数据,那么你的选择就更受限制。
如果你的环境是全 SQL Server,而且都是 SQL Server 2005 或者更高版本,那么你会
想考虑选择 SQL Server Service Broker。这会为你的数据转换提供最大的灵活性。要做
到这一点,最容易的方式就是在源表或者需要复制的表设置触发器。这会确保任何时候对
源表插入,更新或删除发生时,变更都会被转移到 SQL Server 代理队列并传输到所有目
标数据库。当数据在源数据库接收时,数据会被一个活动的存储过程从队列中移除,转换
到目标系统对象并加载。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 59 of 82
如果你在为多平台环境工作,SQL Server Service Broker 就不能向其他数据平台或
从其他数据转移数据。因此,需要使用另一种数据转移平台。下一种最容易的选择是 SQL
Server 复制。如果你的分发数据库是 SQL Server 2005 或者更高版本,你可以利用这个平
台从 Oracle 数据库或向 Oracle 数据库复制数据。如果你要把数据从 SQL Server 复制到
非 SQL Server 的数据库,像 SQL Server 2000 那么低的版本也可以被当作你的分发数据
库。
在复制 SQL Server 2000 时,老版本比新版本更有优势。这是因为 SQL Server 2000
复制支持使用数据转换服务(DTS),使从一个对象到另一个对象转换数据更容易。你可以
利用 DTS 转换利用 SQL Server 2005 复制的数据,但是它配置起来更复杂,因为它要求复
制被配置为使用 T-SQL 存储过程,而不是复制 UI。
在利用复制功能把数据从源数据库复制到目标数据库以后,要合并复制表的数据到生
产表,有几种选择。最快的选择是给你想复制数据的目标表上加触发器。这样的话,一旦
数据从源系统复制过来了,数据立即就会被转换成最终对象。这些任务可以复制向 SQL
Server,Oracle 或者其他任何支持触发器的平台上完成。
无论你选择什么解决方案,你可能需要有一个平台,该平台可以让你从授权数据库到
你的业务线应用进行可靠的数据转移。像任何数据库设计决定一样,适当的规划和审慎考
虑是成功设计主数据解决方案的关键。
(作者:Denny Cherry 译者:冯昀晖 来源:TT 中国)
原文标题:不升级 SQL Server 2008 R2 前提下享受主数据服务
链接:
/showcontent_
Page 60 of 82
你的 SQL Server 2008 R2 足够安全吗?
理想状态下,在部署系统之前,最好是先想好如何锁定你的系统,或者至少应该在部
署进行中,越早越好。
也许你已经发现了,针对 SQL Server 2008 R2 可用的加固资源并不多。可以这样说,
“加固”这个词已经不应该是与 R2 这一产品相关的了,它已经提供了相对较全的安全特
性了。但是如何使用好这些安全特性是十分重要的。
首先你需要知道有哪些东西是可以任由你使用的。对于初学者来说,理解 SQL Server
2008 R2 的基础知识是很重要的。微软发布的 SQL Server 2008 R2 Reviewers Guide 包含
了一些非常好的介绍资料,通过这些资料你可以认识到如何使用好 SQL Server 2008 R2
新的安全功能。事实上,在安装 SQL Server 2008 R2 的时候你就已经启动了许多安全设
置了,从功能选择到服务器设置再到数据库引擎设置,包括默认服务、服务账户以及认证
模式等等都会在今后的很长一段时间里影响到你系统的安全性。当然除此之外,你的
Windows domain 策略和你的数据库补丁策略也会产生一定的影响。
在理解了基础的知识之后,针对 SQL Server 2008 R2 的安全资源就非常有限了,关
于这方面的有美国军方提供的“安全技术实施指南和清单”。此外,Microsoft Security
Compliance Manager 工具包中也有 SQL Server 2008 R2 安全指南。
当你理解了基础的安全知识之后,你就需要深入了解一下你的 SQL Server 2008 R2
安全现状了。要做到这一点,最好的方法就是进行彻底的漏洞评估。据我所知,目前市面
上并没有专门针对 SQL Server 2008 R2 的漏洞扫描软件。不过像 Application Security
Inc.和 NGS Software 这样的公司在不久的将来应该会发布相关工具。
在此期间,Chip Andrews 编写的 SQLPing 工具可以很好地帮助你开展这一工作,它可
以迅速地找到你网络中运行的 SQL Server 系统。注意在使用 SQLPing 工具的时候,SQL
Server 2008 R2 将显示为 10.5.x。你还可以手动进行检测,运行一个普通的漏洞扫描,
这样也可以找到 SQL Server 的相关漏洞。
锁定 SQL Server 2008 R2 的最终结果就是:你将可以得到一个坚实的安全基础,来
阻止其他人操纵控制你的系统。你同样想要最大的透明度和对数据的安全控制。通过这样
的方法,当付诸行动的时候,你与你的审计人员的关系将更加和谐。
就目前的观察,SQL Server 2008 R2 投入到生产环境中的还并不多,但是我看到的到
多数的 SQL Server 系统设置都是使用的默认方式。从 SQL Server 2000 开始一直到 SQL
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 61 of 82
Server 2005,这样做不是一个好的方,尽管之后的版本在锁定系统方面已经做出了更多
的努力。
最后,我相信微软在 SQL Server 2008 和 SQL Server 2008 R2 中已经做的很好了,
但是你不能被动地认为他们能够将所有的安全问题交给微软,你依旧需要自己制定一份计
划,来加强你的 SQL Server 环境的安全。
了解 SQL Server 2008 R2 数据库审计流程
SQL Server 2008 引入了审计的概念,前面的版本只允许我们对基本的登录成功和失
败记录错误日志,该新版本的功能远远超出了之前版本。
有了这种高级审计功能,DBA 们在 SQL Server 中可以在各种层面创建审计策略。你可
以审计实例级信息(比如登录),数据库级变更,也可以针对像 SELECT 和 UPDATE 语句这类
对象的数据操纵语言(DML)做审计。
当你配置审计时,你可以利用 SQL Server Management Studio(SSMS)创建一次性的审
计配置。你还可以利用 T-sql 脚本创建你的审计策略,然后利用那些脚本在你的企业范围
内多台服务器上定义相同的策略。
在创建你的审计策略之前,你要做一些决定。很明显,你需要决定审计什么信息,而
且你还必须搞清楚你想把审计记录保存在哪里。在后一点上,你有几种不同方案可选;你
可以把信息存储到服务器硬盘的平面文件,Windows 应用日志,或者 Windows 安全日志。
虽然你可以在技术上把审计设置为写到远程服务器上的网络共享,但是这种做法一般不提
倡,因为如果网络存储位置被重启了,而你的 SQL Server 处于接收连接的联机状态,那
你就可能会丢失审计信息。这可能导致你的 SQL Server 审计跟踪出现漏洞,无论什么审
计在驱动审计数据收集都会引起失败。
在 SQL Server 中创建审计
在开始审计数据之前,首先你需要告诉 SQL Server 你想把审计信息保存到哪里。在
本文中,我会把审计信息写入到 D 盘“Audit”文件夹中的一个平面文件中。我们可以在
后续用 SQL Server 集成服务(SSIS)导入那些文件。要做到这一点,需要首先在对象资源
管理器中连接到服务器,然后找到服务器名>安全>审计。在“审计”上右击,然后在打开
的上下文菜单中选择新建审计。然后你会看到一个界面,填写信息以后大概如下图所示:
图 1:在 SQL Server 2008 中创建审计(点击放大)。
Page 63 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
该文本框可以接受从 0 到 2,147,483,647 毫秒(24 天,20 小时,31 分钟,23.647 秒)
之间的值。值 0 会把审计从异步处理过程变成同步流程,这样审计信息会被实时(而不是
事后)写到设定的审计存储位置。
“审计日志故障时关闭服务器”选项使你从“应该审计”模式变成“必须审计”模式。
如果由于某种原因,SQL Server 不能给指定的目标位置保存审计信息,SQL Server 实例
将会关闭。(如何设置该选项)与你所在的行业有关,也与 SQL Server 服务和审计的用途
有关,在涉及启用该设置时你必须发起判断是否要启用的请求。例如,如果你的工作在银
行,这是你使用的主数据库,保存了所有的账户信息,那么你可能想启用该选项。然而,
如果你的工作在书店,数据库中保存的只是你书店图书的详细清单,你可能不需要启用该
设置。
如果你选择记录日志文件,你还会看到另外一些选项,比如保留的文件数量,每个文
件多大,当然还有保存到哪里的选项。关于在哪里存储审计文件,SQL Server 要求这里填
写一个有效路径,而不是光指定一个文件名,因为它会在写文件时给你创建文件名。
设置以文件方式保存时有一些特殊参数,第一个参数是最大滚动文件数,它告诉 SQL
Server 要在磁盘上保留多少个审计文件。第二个设置告诉 SQL Server 每个文件最大容量
大小。默认情况下,这些参数都被设置为“不受限制”,它表示 SQL Server 会保留审计
信息,直到你指定保存审计数据的磁盘被写满。就我个人而言,我推荐设置文件最大容量
为 1GB 或者小于 1GB,这样就保证文件足够小,在磁盘空间不足时,你可以方便地根据需
要转移这些文件。然后,你可以根据审计人员希望保存的审计数据量需要指定滚动文件数
量(或者管理方面愿意提供更多存储能力也行)。
界面上的最后一项设置是保护区磁盘空间设置。这个参数告诉 SQL Server 给审计文
件预分配空间,这样一旦审计文件创建以后,该文件的整个预分配的空间都是可用的。那
样的话,在文件使用过程中,磁盘不会忽然就空间不足。在磁盘上记录审计信息日志时,
你需要确保运行 SQL Server 的账号在 NTFS 格式文件夹下有创建文件的权限。
现在,如果你想用 T-SQL 在多台服务器上运行脚本来设置,给它们应用相同的配置,
请看图 2。
图 2:利用 T-SQL 为多台服务器创建审计(点击放大)。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 65 of 82
建立审计规范
在你创建好审计以后,你还需要创建一个审计规范。它用来告诉 SQL Server 审计到
底捕获那些信息。你可以根据需要捕获尽可能多或少的信息,只要你捕获的信息能满足你
的需要就好。如果你不需要,我推荐你不要审计所有事件,因为那样会给你的服务器和你
一旦你创建了审计和审计规范,你需要启用这两种对象。在 SQL Server Management
Studio 中,可以通过在每个对象上右击,然后选择“启用{对象名称}”来实现。如果你是
通过 T-SQL 创建的这些对象,你可以使用“ALTER SERVER AUDIT”和“ALTER SERVER
AUDIT SPECIFICATION”语句,把状态值设置为 ON,如图 5 所示。
图 5:通过 T-SQL 启用审计和审计规范(点击放大)。
此时,所有已经配置捕获审计规范的数据将会按照该规范绑定的审计指定的方式写到
审计文件中。
在我们的例子中,我们可以通过查看 SQL Server 上的“D:Audit”文件夹检查这
一点。在那里我们可以看是否文件已经被创建,以及 SQL Server 是否给那里写了数据,
如图 6 所示。
图 6:验证 SQL Server 审计(点击放大)。
希望这份对微软 SQL Server 2008 R2 的简介对于简单配置微软提供给你的令人惊喜
的审计能力给你一些概念性的了解。然而,像大部分最新功能一样,这些功能不能对 SQL
Server 2005 和更早的版本向后兼容,这样你将需要向你的审计人员解释,审计数据只在
那些宿主在更新的服务器上的数据库可用。你可能甚至会把它作为让 SQL Server 2000 和
2005 应用从微软升级到更新版本一个驱动因素。
解析 SQL Server 2008 R2 高可用性选项:故障转移集群
SQL Server 2008 R2 中有多个高可用性解决方案可供选择,作为 DBA,你必须知道每
个解决方案是如何提高客户数据库性能,以及它们可能出现的问题。在向客户推荐使用之
前,请先阅读每个高可行性解决方案的优缺点。
因为客户的 SQL Server 2008 R2 数据库往往对于它们的组织而言都是用来处理关键
任务的,所以解决方案供应商必须确保数据库可以应对各种不同类型的故障。本文介绍了
一些供应商为 SQL Server 2008 R2 数据库实现的高可用性(HA)和冗余服务的方法。
故障转移集群
故障转移集群是 Microsoft 在其服务器产品中主要使用的高可用性解决方案。它是一
个 Windows Server 技术,能够为各种 Microsoft 服务器产品实现硬件级冗余,如 SQL
Server 2008 R2 和 Exchange Server 2007 和 2010。故障转移集群的主要优点是集群的应
用程序通常不受服务器硬件故障的影响。另一个优点是使用故障转移集群时,解决方案提
供商能够关闭一个物理服务器进行维护,而不会影响应用程序的可用性,因为这个应用程
序将会继续在其他集群节点中运行。
尽管故障转移集群具有这些优点,但是它也是有一些缺点的。其中一个重要的问题是
故障恢复的实现是非常昂贵的。Microsoft 只在那些通过 Windows Server 认证的硬件上才
支持故障恢复。而且仅仅服务器通过 Windows Server 认证还不够;服务器上的每一个组件
都必须通过 Windows Server 认证。因此,如果您购买了一台通过 Windows Server 认证的
服务器,但是在服务器上安装了一般的网卡,那么您的集群节点就会处于不支持的状态。
SQL Server 2008 R2 故障转移集群的另一个问题是它要求使用共享存储。
不管您选择实现什么类型的共享存储,解决方案提供商都应该注意两件事:首先,共
享存储也可能非常昂贵。您的客户不可能购买一个 Windows Storage Server 授权,然后
安装到他们的硬件上。Windows 授权只能由硬件制造商以预安装到服务器上的方式发行的。
您可以想象,供应商通常会额外购买存储服务器,而如果客户需要使用光纤通道适配器或
者高速存储阵列,那么成本会进一步增加。
共享存储的另一个问题是,由于所有集群节点都共享一个通用的存储阵列,所以这个
存储服务器就可能成为一个故障集中点。故障集群相对而言不容易受到大多数硬件故障的
影响,但是存储故障却可能导致整个集群出现问题。实现共享存储的方法有很多。例如,
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 70 of 82
在我自己的单位里,我采用的是通过 iSCSI 连接 Windows Storage Server 2008 的故障恢
复节点。
关于故障恢复的最后一个问题是:故障恢复是发生在服务器层,而不是数据库层的。
因此,如果您的集群 SQL Server 运行了多个数据库,而其中有一个数据库出现问题,那
么您就无法在这个出现问题的数据库上执行故障恢复操作。
解析 SQL Server 2008 R2 高可用性选项:数据库镜像
SQL Server 2008 R2 中有多个高可用性解决方案可供选择,作为 DBA,你必须知道每
个解决方案是如何提高客户数据库性能,以及它们可能出现的问题。在向客户推荐使用之
前,请先阅读每个高可行性解决方案的优缺点。
因为客户的 SQL Server 2008 R2 数据库往往对于它们的组织而言都是用来处理关键
任务的,所以解决方案供应商必须确保数据库可以应对各种不同类型的故障。本文介绍了
一些供应商为 SQL Server 2008 R2 数据库实现的高可用性(HA)和冗余服务的方法。
数据库镜像
故障恢复的一个常用替代方法是数据库镜像。磁盘镜像具有两个独立的磁盘副本,而
数据库镜像使解决方案提供商只需要创建一个数据库副本。
数据库镜像有两个故障转移集群所不具备的优点。首先,它是运行在数据库层,而不
是服务器层的,这意味着数据库镜像比故障转移集群更加灵活。
另一个优点是您能够使用标准服务器实现数据库镜像。Microsoft 推荐客户购买兼容
Windows Server 的服务器,但是他们不需要购买专门通过故障转移集群认证的硬件。而且,
通过数据库镜像技术,您不需要担心使用共享存储所增加的成本和复杂性。
解析 SQL Server 2008 R2 高可用性选项:日志传输
SQL Server 2008 R2 中有多个高可用性解决方案可供选择,作为 DBA,你必须知道每
个解决方案是如何提高客户数据库性能,以及它们可能出现的问题。在向客户推荐使用之
前,请先阅读每个高可行性解决方案的优缺点。
因为客户的 SQL Server 2008 R2 数据库往往对于它们的组织而言都是用来处理关键
任务的,所以解决方案供应商必须确保数据库可以应对各种不同类型的故障。本文介绍了
一些供应商为 SQL Server 2008 R2 数据库实现的高可用性(HA)和冗余服务的方法。
日志传输
SQL Server 2008 R2 高可用性的另一个方法是日志传输,这种技术允许解决方案提供
商创建多个数据库副本。日志传输能够将次数据库日志副本同步发送到 SQL Server 实例
上。然后这些日志会在次服务器上重放,从而保持数据库副本是最新的。
有一些解决方案提供商使用日志传输作为克服数据库镜像缺点的方法。数据库镜像是
很好的技术,但是它只允许我们实现一个数据库副本。镜像可以接近实时的方式进行,所
以数据库修改可以快速地写到次数据库上。如果客户数据库损坏或数据库记录意外删除,
那么这可能会造成问题。
日志传输有两个主要的优点。首先,解决方案提供商能够实现一种延迟,这样日志就
不会即时重放。这是很重要的,因为如果主(或镜像)数据库出现问题,日志可以在重放之
前拦截,因此可以防止问题扩散。
日志传输第二个主要的优点是它支持实现多个数据库副本。有一些单位使用日志传输
作为在备份数据中心维护数据库副本的方法,这能够防止主数据中心出现问题时发生数据
丢失。
细数 SQL Server 2008 R2 中最不为人知的七个方面
由于大肆地对外宣传 SQL Server 2008 R2 的 BI 功能,使得有些人认为这个产品是一
个“商业智能版本”。事实上 R2 并不局限于此,现在我们将一起来探讨一些 SQL Server
最新版本中并不是流行但同样重要的修改。
1、增大的 SQL Server Express 数据库大小
过去,人们使用免费 SQL Server Express 版本的其中一个主要的原因是由于它的的
数据库较小。虽然 SQL Server Express 仍然存在一个数据库大小的最大值限制,但是 SQL
Server 2008 R2 已经将大小增加为 150%(从 4GB 变成 10GB)。这种大小的增加使得更多的
应用能够使用 Express。它允许应用程序先使用 SQL Server Express 的 Express 实例,然
后在一段时间之后升级为付费版本。
2、Extended Protection
SQL Server 2008 R2 的 Extended Protection 的特性使用服务绑定和频率绑定来阻止
认证延迟攻击。服务绑定被用来防御诱惑攻击,而频率绑定则同时可以防御诱惑和欺骗攻
击。由于服务绑定需要更多的服务资源,防护模式必须根据 CPU 需求的不同而有所变化。
在 Windows Server 2008 和 Windows 7 本身就带有 Extended Protection,但是它可
以作为补丁下载到其他的操作系统使用。当使用 Windows Authentication 时,该功能将
提升现有的防护能力。
3、支持使用 SSL 加密的通配符验证
除了支持客户和服务器之间的 SSL 加密,即 SSL 验证使用与用户连接一样的完整域名
(FQDN),目前它也支持通配符验证了。在公司的网站、邮箱网站、SQL Server 等使用单一
验证方式将有助于减少 SSL 验证的花费和管理开销。例如,如果一个公司需要对所有的
SQL Server 连接进行加密,那么就可以使用单一 SSL 验证方式来实现,从而取代在每个
SQL Server 上进行加密的方式。
4、IIS7 合并复制
当在不同位置之间使用合并复制时,您现在可以选择 Internet Information
Services (IIS) 7 作为 SQL Server 的监听器。IIS7 配置在发布者上,而订阅者可以连接
到 IIS7 及其数据复制上。这些都会受到 SSL 加密的保护。
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 75 of 82
这个重要的新功能可以支持在不需要暴露在公共网络的前提下在两台 SQL Server 之
间实现合并复制。同时,在两个站点之间也不再需要 VPN 连接。这样,由于不需要将公司
的网络基础架构暴露给其他公司或者公共网络,因此在不同的公司之间实现数据复制会更
简单。
5、在 SQL Server Reporting Services (SSRS)中实现协作和重用
SQL Server Reporting Services for R2 提供了几种新的功能,它们支持并增强
SSRS 环境现有的协作和组件重用。其中包括新的报告功能和共享的数据集。重用这些组件
的功能将显著地降低创建新报告所需要的总时间。而且,由于它们现在可以使用完全相同
的模板,因此,这也增加整个企业范围的报告一致性。
6、新的数据源类型
SQL Server 2008 R2 版本的 SSRS 支持三种新的数据源类型——SQL Azure、Parallel
Data Warehouse 和 Microsoft SharePoint 列表。这些新的数据源使公司能够在 Azure 云
中部署应用程序和数据库,同时也可以使用他们的本地 SSRS 基础架构来运行报告、执行
报告调度和将文件自动存储到网络共享。
类似的,支持新的 SQL Server 2008 R2 Parallel Data Warehouse 版本允许
Reporting Services 显示来自大型的企业数据仓库的报告。
7、BIDS 向后兼容 SSRS 2008
Business Intelligence Development Studio for SSRS 2008 R2 可以通过在 Report
Server 项目属性中设置版本而向后兼容 SSRS 2008。这样你就可以像在 SQL Server 2005
和 2008 中一样,使用单一的开发环境,而不需要维护一个独立的程序安装。
正如你所看到的,与 PowerPivot 和其他主要的功能相比较而言,R2 目前越来越受到
市场的热捧。希望本文能够让你意识到 SQL Server 2008 R2 本身的其他重要的改进。
(作者:Denny Cherry 译者:曾少宁 来源:TT 中国)
原文标题:细数 SQL Server 2008 R2 中最不为人知的七个方面
链接:
/showcontent_
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 76 of 82
SQL Server 2008 R2:在运行中合理分配 CPU 和内存
微软 SQL Server 2008 R2 中的资源分配方式与 SQL Server 2005 中的方式相比是一
种完全不同的过程。利用资源控制器,在 SQL Server 2008 R2 中解决方案供应商有切实
可用的方法管理 CPU 和内存。
资源消耗是长期以来困扰使用 SQL Server 的解决方案供应商的基本问题之一。任何
服务器,不管它是物理的还是虚拟的,供处置的 CPU 和内存池都是有限的。过去,这一简
单的事实给 SQL Server 带来许多麻烦,因为它通常是资源非常敏感的应用。
如果服务器上只托管了唯一一个数据库的话,那么 SQL Server 资源消耗并不是个严
重的问题。但是如果有多个数据库在用着,那就真的变成一个问题了,因为各种数据库都
会竞争同样一组 CPU 和内存资源。
在 SQL Server 2005 中,对这个问题可以接受的解决方案通常是为每个数据库创建独
立的 SQL Server 实例,利用处理器亲和度为每个数据库实例分配资源。这种技术的问题
是一旦资源被分配给 SQL Server 实例,他们对其他 SQL Server 实例就不可用了。结果,
如果一个数据库的负载特别重,它也不可能从其他 SQL 实例暂借服务器的 CPU 资源,虽然
这个实例上的资源此时可能什么都没做。
一些解决方案供应商也曾尝试利用服务器虚拟化作为给个别 SQL Server 数据库分配
资源的一种途径。在这种模型中,每台虚拟机只托管一个 SQL Server 数据库。这种方法
也可行,但是虚拟机和他们的操作系统也消耗了一些本该用于 SQL Server 的服务器资源。
此外,还依赖于你使用的虚拟化软件,以按需分配为基础的资源动态分配可能有些困难或
者不可能实现。
微软最终针对 SQL Server 2008 R2 中的资源分配问题创建了一套可行的解决方案,
引入了叫做资源控制器的新组件。这个资源控制器是可以通过微软 SQL Server
Management Studio 访问的,它可以定义资源池,每个资源池都包含负载工作组,如下图
所示:
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 77 of 82
类型的数据库请求分配不同的资源池。例如,解决方案供应商可能分配更多的 CPU 时间给
数据库查询函数,而不是分配给写数据库操作的函数。
SQL Server 2008 R2 资源控制器的一个大缺点是:它不是一个解决方案供应商可以启
用或者通过点几下鼠标就可以配置的管理工具。分类处理请求,然后把请求转发给合适的
负载工作组需要编写大量脚本。幸运的是,微软提供了一系列 MSDN 文章,告诉你如何创
建必要的脚本。
SQL Server 2008 R2 问题汇总
问:我记得 SQL Server 2010 是今年发布,SQL Server 2008 R2 跟 SQL Server 2010
是一回事吗?
答:差不多。SQL Server 2008 R2 其实经历过一次命名变化,之前有段时间一直叫做
Kilimanjaro 计划,而这个计划被认为是 SQL Server 2010 的前身。在 2009 年中期才改了
名,微软官方宣布下一版本的数据库平台将以 SQL Server 2008 R2 命名。
就像 Windows Server 2008 及其他产品一样,微软总是习惯用“R2”来命名新版本的
产品。那么这个 R2 就是针对之前发布的 SQL Server 2008,微软这样做的初衷也许是因为
在数据库引擎方面,新版本同旧版本之间并没有太大的区别。
但是用户们不用担心,SQL Server 2008 R2 还是有大量的新特性将要问世,其中并行
数据仓库等 BI 功能是它的一大亮点。
问:从 SQL Server 2008 到 SQL Server 2008 R2,中间最大的变化是什么?
答:这个问题你问不同的人也许会得出不同的答案。其中一个大的变化就是扩展性。
SQL Server 2008 R2 的一个版本将支持 256 位逻辑处理器,而 SQL Server 2008 的最高版
本只能支持 64 位逻辑处理器。这一特性将帮助 SQL Server 解决在可扩展性方面的性能瓶
颈,这一问题也是 SQL Server 无法同 Oracle 在高端数据库市场竞争的原因。
商业智能的加强在 SQL Server 2008 R2 中是被讨论的最多的。一个主要的特性就是
新的主数据管理功能,专家认为这非常适合现有的微软商业智能平台。该工具的命名为
Master Data Services(主数据服务),这一工具来源于微软 2007 年收购的公司
Stratature。
问:SQL Server 2008 R2 中商业智能的加强除了主数据服务,还有哪些?
答:另外一个比较重要的更新,你也许已经听过了,就是 PowerPivot,这个功能已经
开发有一段时间了。该技术为企业提供了可管理的自助式商业智能特性。你可以把
PowerPivot 当做是为普通用户准备的 SQL Server Analysis Services (SSAS)。换句话说,
SSAS 是微软传统的企业级 BI 数据分析工具,PowerPivot 则是更多地面向于终端用户,并
且同微软 Excel 和 SharePoint 进行了紧密的集成。(BTW:读者可以参考微软工程师
Ashvini Sharma 的一篇文章,在这篇文章中,他向我们解释了 PowerPivot 与 SSAS 的不同
之处以及各自的应用场景。)
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 80 of 82
作为微软的另外一个商业智能工具,SQL Server Reporting Services (SSRS)添加了
以前的地理空间数据类型,新的报表中加入了可视化的地图功能。你可以在 Report
Builder 3.0 中体验一下新的地图功能,在我们之前的 Report Builder 3.0 系列文章中就
有过详尽的介绍,而且在 Report Builder 3.0 中,数据可视化功能也得到了加强,包括
图表、仪表和矩阵等。
问:好了,关于 BI 方面的问题不说了,那么其他方面的新特性有哪些呢?
答:你可能也听说了,SQL Server 2008 R2 中有一个新的多服务器管理功能。例如,
微软加强了 SQL Server Management Studio (SSMS)的仪表盘功能,DBA 通过它可以在一
个屏幕上监控和管理多个实例。不幸的是,这一功能在免费版的 SQL Server Express 中
无法实现,这一点一定要记住。
问:对于开发者来说,SQL Server 2008 R2 都有哪些新鲜元素?
答:SQL Server 2008 R2 中添加了数据层应用(data-tier applications),即 DAC。
通过 DAC,开发者可以在生产服务器中简化应用程序的部署过程。虽然 DBA 可以在 SSMS 中
抽取 DAC,但是开发人员必须使用最新发布的 Visual Studio 2010 来创建和编辑 DAC。顺
便说一下,DAC 在微软最新发布的云数据库 SQL Azure 中也支持。
问:我听说 SQL Server 2008 R2 有两个新的版本,能都提供一些相关信息?
答:没错,SQL Server 2008 R2 除去原来大家熟悉的版本之外,还会推出新的数据中
心版(Datacenter)和并行数据仓库版(Parallel Data Warehouse,PDW)。这些版本都是为
大型企业部署所准备的,就像字面上所说的一样,数据中心和数据仓库。
有一件事你需要记住,就是 SQL Server 2008 R2 数据中心版将为客户提供无限的实
例权限。这一点非常重要,因为在 SQL Server 2008 中,企业版也有这一特点,但是在 R2
中已经不存在了,只有数据中心版才有。另外数据中心版还支持 256 位的逻辑处理器,这
个我们之前已经提到过了。
除此之外,SQL Server 2008 R2 并行数据仓库版被人们提及的次数非常多。它就是之
前我们熟悉的 Madison 项目,PDW 的诞生源自于微软 2008 年收购的 DATAllegro 公司。它
的设计初衷就是让大型企业拥有更强大的处理能力,通过它,企业可以将数据仓库扩展到
多个物理 SQL Server 服务器上。
所有这些功能都和成本挂钩,它的价格肯定不会低,因此并行数据仓库版应该只适合
于那些财大气粗的大型企业。
问:谈到价格问题,那么升级到 SQL Server 2008 R2 的成本是多少呢?
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”
Page 81 of 82
答:SQL Server 2008 R2 许可证的价格会根据版本不同而有一定的差异,如果你已经
部署了 SQL Server 2008 而且有微软的 Software Assurance,那么升级 SQL Server 2008
R2 就是免费的。除此之外,你就需要好好考虑一下是否升级是必要的,那些新的功能你能
用到多少,它能为你的企业带来多大的好处等等了。
问:关于 SQL Server 2008 R2 我还有哪些需要知道的?
答:SQL Server 2008 R2 还将同微软最新的虚拟化产品 Hyper-V R2 相配合,实现实
时迁移(Live Migration)。但是除了 R2 的标准版、企业版和数据仓库半之外,其它版本
还无法支持实时迁移功能,比如免费版 SQL Server Express。
问:SQL Server 2008 R2 何时发布?
答:在 4 月份,SQL Server 2008 R2 已经移交给制造商进行 RTM 了,而真正的发布日
期将定在 5 月份。虽然大家期待 5 月能够迎来 SQL Server 2008 R2 的全部版本发布,但
是微软官方表示并行数据仓库版将在下半年才能同大家见面。而 PDW 的最后一个技术预览
版已经可以在网上下载了。
想了解关于更多 SQL Server 2008 R2 的信息,请关注 TT 中国数据库网站的报道,另
外您也可以登录微软官方网站来获取相关内容。
(作者:Denny Cherry 译者:孙瑞 来源:TT 中国)
原文标题:SQL Server 2008 R2 问题汇总
链接:
/showcontent_
Page 82 of 82
TT 数据库技术专题之“SQL Server 2008 R2 中文教程”


发布评论