使用 SQL Server 2005 中的 SQLCLR 处理 XML Showplan
2007-05-13 09:24:45 来源:WEB开发网核心提示: 实现该解决方案1.附录 B 包含一个 Visual C# 程序,该程序以 XML 格式从 SQL Server 提取 showplan,使用 SQL Server 2005 中的 SQLCLR 处理 XML Showplan(6),然后将提取的 showplan 返回客户端,与解决方案 1
实现该解决方案
1.
附录 B 包含一个 Visual C# 程序,该程序以 XML 格式从 SQL Server 提取 showplan,然后将提取的 showplan 返回客户端。与解决方案 1 的第一步类似,以下命令行可用于将该程序编译为 DLL。该命令生成一个名为 ReturnShowplanXML.dll 的 DLL。
csc.exe
/out:ReturnShowplanXML.dll
/target:library
/reference:System.dll
/reference:System.Data.dll
/reference:sqlaccess.dll
ReturnShowplanXML.cs
与前面解决方案的第一步类似,应将 和 分别替换为指向 Microsoft .NET Framework 位置和 SQL Server 2005 安装位置的二进制文件的正确路径。
2.
下一步,使用由客户端(如 SQL Server 2005 Management Studio)发布的以下 Transact-SQL 命令,让 SQL Server 2005 知道该程序集 (ReturnShowplanXML.dll)。
use AdventureWorks
go
CREATE ASSEMBLY ReturnShowplanXML
FROM 'ReturnShowplanXML.dll'
go
将 替换为指向您在该过程的步骤 1 中编译 DLL 的位置的路径。
3.
在已注册程序集 (ReturnShowplanXML.dll) 中创建引用外部 CLR 方法的用户定义存储过程。
CREATE PROCEDURE dbo.ReturnXMLShowplan
(
@tsqlStmt NVARCHAR(MAX),
@retPlanXML NVARCHAR(MAX) OUT
)
AS EXTERNAL NAME ReturnShowplanXML.xmlshowplanaccess.GetXMLShowplan
go
@tsqlStmt 参数将包含一个查询,并且将使用 OUT 参数 @retPlanXML 以 XML 格式返回 showplan。
4.
客户端使用如下代码来调用 CLR 用户定义的过程:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››使用linux中的quota教程
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››使用jxl生成带动态折线图的excel
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
更多精彩
赞助商链接