易管理性增强功能(数据库引擎)

SQL Server 2008 R2 引入了用于管理 SQL Server 数据库引擎的多个实例的 SQL Server 实用工具。它还引入了称为数据层应用程序 (DAC) 的管理单元,DAC 提供基于应用程序的视图,以便在 SQL Server 实用工具中或者数据库引擎的独立实例中管理数据层对象。

SQL Server 2008 R2 中的新增功能

注意注意

因为 SQL Server 2008 R2 是 SQL Server 2008 的次版本升级,所以,我们建议您也查看 SQL Server 2008 部分的内容。

SQL Server 实用工具

SQL Server 实用工具实现:

  • 创建 SQL Server 实用工具控制点 (UCP):安装 SQL Server 2008 R2 数据库引擎的单个实例,然后将其提升为 UCP。该 UCP 是针对在 SQL Server 实用工具中注册的所有实例收集的配置和性能数据的中央存储库。该 UCP 是针对 SQL Server 实用工具的中心原因点。它支持多种操作,例如应用中心策略,或者分析实例的资源利用率趋势,以便预测何时可能会超出中心资源利用率策略。

  • 在 SQL Server Management Studio 中使用实用工具资源管理器,以便将现有 SQL Server 2008 R2 数据层应用程序和数据库引擎的实例注册到 SQL Server 实用工具中来进行集中管理。

  • 设置定制和控制 SQL Server 实用工具及其面板的操作的中心策略。

  • 使用实用工具资源管理器可以显示一个面板和多个详细的视点,它们可以报告资源使用情况、资源运行状况以及在 SQL Server 实用工具中注册的所有实例的配置信息。通过面板,您可以迅速确定利用不足或过度利用其基础硬件资源的数据库引擎数据层应用程序和实例。然后,您可以制订一个计划以便充分利用您的服务器,例如将利用不足的实例或数据库合并到单个服务器中。

有关 SQL Server 实用工具的详细信息,请参阅:

数据层应用程序

数据层应用程序可以简化支持多层或客户端-服务器应用程序的数据层对象的开发、部署和管理。DAC 定义支持应用程序所需的所有数据库引擎架构和实例对象(例如表、视图和登录名)。DAC 作为单个管理单元运行,贯穿于关联应用程序的开发、部署和管理生命周期。DAC 还包含用于定义 DAC 的部署先决条件的策略。DAC 可以部署到 SQL Server 2008 R2 和 SQL Azure 的实例。

有关 DAC 的详细信息,请参阅:

DAC Framework 1.1 功能包

Visual Studio 2010 Service Pack 1 (SP1) 包括新的 DAC Framework 1.1,它将 DAC 升级从并行升级更改为就地升级。在 SQL Azure 上也支持就地升级,但不支持并行升级。DAC Framework 1.1 还更改 DAC 包 (.dacpac) 文件的格式。尽管 DAC Framework 1.1 支持使用更早的 DAC Framework 1.0 创建的 DAC 包,但是,仍运行 DAC Framework 1.0 的客户端无法处理使用 DAC Framework 1.1 创建的 DAC 包。SQL Server 2008 R2 客户可以通过下载并安装 DAC Framework 1.1 功能包,升级到 DAC Framework 1.1。当前计划是在将来的 SQL Server 2008 R2 Service Pack 中包括 DAC Framework 1.1。

有关执行就地升级的详细信息,请参阅如何升级数据层应用程序

连接到 SQL Azure

SQL Server 2008 R2 引入了从客户端实用工具连接到 SQL Azure 数据库的功能。

SQL Server PowerShell 提供程序

SQL Server 2008 R2 引入了新的 SQLSERVER:\Utility 和 SQLSERVER:\DAC 文件夹,以便在 PowerShell 脚本中支持 SQL Server 实用工具和数据层应用程序。有关详细信息,请参阅使用 SQL Server PowerShell 提供程序

网络连接

不推荐使用 VIA 协议。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。.

异常消息框命名空间

Microsoft.NetEnterpriseServers 命名空间是一个先前未记录的命名空间,它复制 Microsoft.SqlServer.MessageBox 命名空间的功能。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 Microsoft.SqlServer.MessageBox 命名空间。

SQL Server 2008 中的新增功能

数据库管理

审核

SQL Server 审核是 SQL Server 2008 的一项新功能,可用于创建数据库引擎事件的自定义审核。SQL Server 审核使用扩展事件记录审核的信息,并提供各种必需的工具和进程以启用、存储和查看对各种服务器和数据库对象的审核。有关详细信息,请参阅审核(数据库引擎)

备份压缩

SQL Server 2008 Enterprise 中引入了备份压缩。从 SQL Server 2008 R2 开始,SQL Server 2008 R2 Standard 和所有更高版本都支持备份压缩。SQL Server 2008 的每个版本都可以还原已压缩的备份。您可以更改单个备份、备份作业或日志传送配置的备份压缩行为。有关详细信息,请参阅备份压缩 (SQL Server)

默认情况下,备份压缩会显著增加 CPU 使用率,这样可能会对并发操作造成不利影响。可以在会话中创建低优先级的压缩备份,其 CPU 使用率受资源调控器限制。有关详细信息,请参阅如何使用资源调控器限制备份压缩的 CPU 使用量 (Transact-SQL)

变更数据捕获

变更数据捕获为解决以下难题提供了一种有效的解决方案,即如何高效执行从源表到数据市场和数据仓库的增量加载。变更数据捕获可插入、更新和删除应用到 SQL Server 表的活动,并以易于使用的关系格式提供这些变更的详细信息。变更数据捕获所使用的更改表中包含镜像所跟踪源表列结构的列,同时还包含了解所发生的变更所需的元数据。有关详细信息,请参阅变更数据捕获基本知识

更改跟踪

SQL Server 更改跟踪使应用程序能够获取对用户表所做的增量更改。如果要求使用双向同步,则更改跟踪还允许应用程序检查是否存在数据冲突。将更改跟踪集成到 SQL Server 2008 以后,开发人员就不需要再创建复杂的自定义更改跟踪解决方案。

在将更改跟踪功能集成到 SQL Server 之前,开发人员通常已经创建了自定义更改跟踪解决方案,这些解决方案使用的是触发器、时间戳列、其他附加列和附加表的组合。现在,开发同步应用程序将更轻松快捷。

有关详细信息,请参阅更改跟踪

数据收集器

SQL Server 2008 中引入了一个数据收集器,您可以用它来获取和保存从多个源收集的数据。数据收集器提供了数据收集容器,可用来确定对 SQL Server 服务器系统进行数据收集的范围和频率。有关详细信息,请参阅数据收集器简介

检测与版本相关的数据库迁移问题

使用 sys.dm_db_persisted_sku_features (Transact-SQL) 视图来确定那些妨碍数据库迁移到另一个版本的 SQL Server 2008 的功能。

事件计数器和性能计数器

不推荐使用的计数器

性能计数器和跟踪事件可用于跟踪不推荐使用的功能的使用情况。有关详细信息,请参阅 SQL Server,Deprecated Features 对象SQL Server 2008 R2 中不推荐使用的数据库引擎功能

DDL 触发器和事件通知

可对其创建 DDL 触发器和事件通知的事件的类已扩展到包括多个存储过程,这些存储过程用于执行 DDL 式操作。有关事件的列表,请参阅 DDL 事件DDL 事件组。此外,事件的 XML 架构随数据库引擎一起安装,也可从 Internet 获得。有关详细信息,请参阅 EVENTDATA (Transact-SQL)

sp_configure 选项

access check cache quota 和 access check cache bucket count 选项控制用于 access check result cache 的条目数和哈希存储桶数。有关详细信息,请参阅 访问检查缓存选项

服务器管理

中央管理服务器

SQL Server 2008 中引入了一种用来管理多个服务器的新方法,其方法是允许您指定中央管理服务器来进行管理。被指定为中央管理服务器的 SQL Server 实例可维护已注册的服务器的列表。有关详细信息,请参阅使用中央管理服务器来管理多个服务器

动态管理视图

有以下五个新的动态管理视图可用来显示内存信息:

sys.dm_os_sys_info 动态管理视图已停止使用 cpu_ticks_in_ms 列,且添加了两个新列 sqlserver_start_time_ms_ticks 和 sqlserver_start_time。

热添加 CPU

SQL Server 2008 支持向运行中的系统动态添加 CPU。添加 CPU 时,可以通过添加新硬件来进行物理添加,或者通过联机硬件分区进行逻辑添加,或者通过虚拟化层进行虚拟添加。有关详细信息,请参阅热添加 CPU

“针对即席工作负荷进行优化”选项

“针对即席工作负荷进行优化”选项是一个新的服务器配置选项,可用来提高包含许多一次性即席批处理的工作负荷计划缓存的效率。如果该选项设置为 1,则数据库引擎将在首次编译批处理时在计划缓存中存储一个编译的小计划存根,而不是存储完全编译的计划。这种情况下不会让未重复使用的编译计划填充计划缓存,从而有助于缓解内存压力。有关详细信息,请参阅设置服务器配置选项

资源调控器

资源调控器是一项可用于管理 SQL Server 工作负荷和系统资源使用情况的功能。您可使用资源调控器限制传入应用程序请求可以使用的 CPU 数量和内存量。有关详细信息,请参阅管理 SQL Server 工作负荷和资源

SQL Server 扩展事件

SQL Server 2008 中引入了 SQL Server 扩展事件,它是一种适用于服务器系统的事件基础结构。使用此版本的扩展事件,您可以通过将事件用作跟踪点在主机进程的运行时打开窗口。然后这些事件可在内存中聚合、发送到某个文件,或输出到 Windows 事件跟踪 (ETW)。有关详细信息,请参阅 SQL Server 扩展事件简介

基于策略的管理

Microsoft 正致力于降低总拥有成本,其中一个举措是在 SQL Server 2008 中引入了基于策略的管理,这是一个用于管理 SQL Server 的新框架。策略包含检查条件(策略所评估的状态)和筛选条件(被评估的目标集)。例如,管理员可以设置如下策略:针对所有 SQL Server 实例 SQL Mail 均处于关闭状态,或 AdventureWorks2008R2 数据库的 Marketing 架构中的表的名称应以“mk_pr_”开头。

基于策略的管理具有以下优点:

  • 可确保符合系统配置的策略。

  • 通过针对配置创建策略可阻止或监视对系统做出的更改。

  • 通过简化管理任务可降低总拥有成本。

  • 可在 SQL Server Management Studio 中检测到遵从性问题。

  • 允许在多个服务器上同时运行策略:

  • 包含内置函数并且支持对条件表达式执行用户定义 Transact-SQL 查询和用户定义 WMI/WQL 查询,从而可以将策略应用于指定的系统状态和目标集。

  • 包含 40 多个即时可用的策略,这些策略符合最佳实践分析工具的规则并且符合外围应用配置器的默认系统状态设置。必须将策略导入到数据库引擎的实例。有关详细信息,请参阅如何导出和导入基于策略的管理策略

除导入即时可用的策略之外,还可通过**“文件”/“新建”**菜单直接创建新策略。

有关如何使用基于策略的管理的详细信息和教程,请参阅使用基于策略的管理来管理服务器

SQL Server Management Studio

查询编辑器

Transact-SQL 调试器

数据库引擎查询编辑器现在包含一个类似于 Visual Studio 调试器的 Transact-SQL 调试器。Transact-SQL 调试器有助于您通过暂停执行特定语句,然后显示数据值和系统信息(例如,Transact-SQL 调用堆栈以及存储在变量和参数中的值)查找 Transact-SQL 代码中的问题。有关详细信息,请参阅使用 Transact-SQL 调试器

IntelliSense

数据库引擎编辑器现在可提供 IntelliSense 功能,例如单词自动完成、用下划线标记错误、参数帮助、着色、快速信息、大纲显示和语法配对。IntelliSense 是为经常使用的 Transact-SQL 元素提供的。在将来的版本中,IntelliSense 将会扩展以用于其他 Transact-SQL 元素。有关详细信息,请参阅使用 IntelliSense

数据库引擎的“错误列表”窗口

SQL Server Management Studio 包括一个“错误列表”窗口,用于显示由数据库引擎查询编辑器中的 IntelliSense 代码生成的语法和语义错误。有关详细信息,请参阅“错误列表”窗口 (Management Studio)

对象资源管理器

SQL Server Management Studio 的“对象资源管理器详细信息”窗口已通过以下几种方式得到增强:

  • 您可以自定义“对象资源管理器详细信息”窗口显示的列。若要查看针对所选对象类型可能存在的列的列表,请右键单击相应的列标题。若要对显示内容重新排序,可拖动相应列。

  • 所选项的属性显示在“对象资源管理器详细信息”窗口的底部。若要查看其他属性,可通过向上拖动状态栏的主题边框使状态栏变大。

Transact-SQL 和 MDX 的代码编辑器在底部有一个颜色编码的状态栏。该状态栏提供有关编辑器连接的信息,并且会在代码编辑器具有多个连接时更改颜色。

您可以从代码编辑器窗口的标题栏中添加或删除项的名称。若要自定义选项卡名,请在**“工具”菜单上单击“选项”,然后选择“文本编辑器”以及“编辑器选项卡和状态栏页”**。

Management Studio 增强了对对象资源管理器中所选项的详细信息的显示。可以调整列的大小,对列进行排序和重新组织;通过新的导航按钮您可以移动到父对象或最后访问的对象。您可以在详细信息区域中选择多个对象,分别对这些对象或将其作为一个组来执行操作。

从“对象资源管理器详细信息”中的对象进行的同步现在将在对象资源管理器中选择单个对象而非该详细信息对象的父对象。此外,您可以从属性列表中选择要显示的列,并且在您浏览时列的排序和选择保持不变。同时对于选定的对象,属性的列表显示在位于详细信息区域底部一个大小可调的区域中。有关详细信息,请参阅使用对象资源管理器详细信息和 SQL Server 对象搜索

对象资源管理器中的 Service Broker 节点

对象资源管理器具有用于 Service Broker 会话优先级的新节点。此外,在您右键单击其他 Service Broker 节点时,这些节点现在可显示附加菜单选项,包括**“属性”**。有关详细信息,请参阅 Service Broker 对象属性 F1 帮助

客户要求的改进

SQL Server Management Studio 按客户要求在以下几个方面进行了改进:

  • 在“查询编辑器”窗口中,可通过从已注册的服务器组打开查询窗口同时查询多个服务器。可以将查询结果合并到单个结果窗格中,也可以在单独的结果窗格中返回这些结果。有关详细信息,请参阅使用中央管理服务器来管理多个服务器

  • 可从“查询编辑器”窗口、**“查询”**菜单、查询编辑器工具栏或通过按 CTRL+ALT+P 来访问 SQL Server Profiler。

  • 现在,使用 Return Top n 行选项可以打开表。

  • 您可以配置在打开表时返回的行数。

  • 在**“工具”/“选项”**菜单上,可指定通过在对象资源管理器中双击表而生成的操作。

  • 您可以阻止表设计器在实现设计更改时重新创建表。

  • **“对象详细信息”**页可通过附加列进行自定义,并且现在支持搜索。有关详细信息,请参阅使用对象资源管理器详细信息和 SQL Server 对象搜索

  • 使用 SQL Server Management Studio 连接时可向连接字符串添加其他连接参数。有关详细信息,请参阅连接到服务器(“其他连接参数”页)

SQL Server PowerShell 提供程序和 Cmdlet

SQL Server 2008 中引入了两个可实现以下功能的 PowerShell 管理单元 DLL 文件:

  • SQL Server PowerShell 提供程序,它将 SQL Server 管理对象模型公开为类似于文件系统路径的路径。该路径中的每个节点均与一个 SQL Server 管理对象类关联。

  • 一组用于任务(例如运行 sqlcmd 脚本、评估策略或对在 PowerShell 路径中使用的分隔标识符进行编码)的 SQL Server PowerShell cmdlet。

此外,还提供了一个新的 sqlps 实用工具,它可启动使用 SQL Server 功能(例如提供程序和管理单元)配置的 PowerShell 环境。PowerShell 子系统已添加到 SQL Server 代理,因此您可按计划或为了响应数据库引擎事件而运行 PowerShell 脚本。可通过在 SQL Server Management Studio 中右键单击对象资源管理器节点启动 SQL Server PowerShell 会话。有关详细信息,请参阅 SQL Server PowerShell 概述

更改历史记录

更新的内容

添加了 DAC Framework 1.1,指出了使用 1.1 的就地升级现在支持 SQL Azure。