使用 SQL Server 2005 中的 SQLCLR 处理 XML Showplan

80酷酷网    80kuku.com

  

  构建一个应用程序以从其 XML Showplan 中提取查询的估计执行成本。用户只能将成本低于预定阈值的那些查询提交到运行 SQL Server 2005 的服务器,从而确保服务器不会由于成本高、长时间运行的查询而超载。

  一、简介

  Microsoft SQL Server 2005 使其查询执行计划(又称作 Showplan)可以采用 XML 格式。而且可以使用任何一种 XML 技术(例如 XPath、XQuery 或 XSLT)来处理 XML Showplan。本文描述从其 XML Showplan 中提取查询的估计执行成本的应用程序。Transact-SQL 所提取的成本可用于 Transact-SQL 窗口。使用该技术,用户只能将那些成本低于预定阈值的查询提交到运行 SQL Server 的服务器。这确保该服务器不会由于成本高、长时间运行的查询而超载。

  二、目标和受众

  本文的目标是 SQL Server 开发人员和数据库管理员 (DBA)。它向数据库管理员简要介绍了 SQLCLR(公共语言运行库)。用于提取 Showplan 的应用程序使用两个 Microsoft Visual C# .NET 小程序,本文还详细阐述 SQL Server 如何调用通过编译这些程序生成的 DLL。该应用程序还使用了可用于查询和提取 XML 数据中信息的 XPath 和 XQuery 技术。SQL Server 2005 为这两种查询语言提供内置支持。本文演示这两种语言如何与 Transact-SQL 进行无缝地交互操作。

  三、问题声明

  SQL Server DBA 有时会遇到这种情况,即用户在工作高峰期向服务器提交长时间运行的查询,因而降低了服务器的响应速度。有两种方法可以防止这一情况的发生:

  1.

  DBA 可使用 sp_configure 将 query governor cost limit 选项设置为特定阈值。(这是一个高级选项。)该阈值在整个服务器内是有效的。

  2.

  要影响连接的阈值,DBA 可以使用 SET QUERY_GOVERNOR_COST_LIMIT 语句。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: