- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于服务端的SQLTrace使用进阶第八篇使用SSIS实现自动化跟踪(上).pdf
相信对于 SQLTrace,朋友们已经不陌生了,不管是在应用程序调优,还是故障排除与性能优
化中,用的都是比较多的。尽管如此,如何合理的使用 SQL Trace,依然是个很大的问题,
因为稍不注意,就是的结果适得其反,严重的消耗数据库服务器的资源,加大服务器的压力。
为了使得大家更好的理解和使用 SQL Trace,我们本系列文章来自 Stairway toServer-side
Tracing,然后经过我们团队的理解和整理发布在 agilesharp,希望对广大的技术朋友在如何
使用 SQL Trace 上有所帮助。
上一篇文章中我们介绍了在多台服务器上创建 SQL代理作业和数据库对象来自动化运行跟
踪。本篇内容将介绍使用自定义 SSIS 包和 SQL 代理作业将那些跟踪文件定期的导入到上篇
文章中创建的中心数据库中。最终的结果将会在所有托管服务器上持续运行跟踪,把收集到
的跟踪数据导入到同一个表中,实现跨服务器的事件关联分析。
前期准备
前期准备
前前期期准准备备
导入包使用我们上一篇文章中提到的数据库,对象以及文件夹。这些对象需要在包运行前创
建好,包括:
1、中心数据库上创建 SqlTraceData 数据库,跟踪数据表 ServerSideTraceData 以及
SqlInstance 和 SqlTrace 表,包含了托管的 SQL Server 数据库实例和跟踪文件信息
2、在每台服务器为服务端跟踪文件创建一个共享目录
3、每台数据库实例上准备一个 DbAdmin 数据库,并包含一些管理跟踪文件的存储过程
4、每台数据库实例上创建一个开启跟踪的作业,在 SQL 代理服务启动后可以自动开启跟踪
SQL 跟踪文件导入包
SQL 跟踪文件导入包
SSQQLL跟跟踪踪文文件件导导入入包包
假设大家已经熟悉了基本 SSIS包的开发,下面的内容就跳过关于包组件的介绍。大家可以从
本篇文章下面下载商业智能开发平台(BIDS)解决方案的完整包和脚本。解压文件并用 BIDS
(SQL 2008或者 SQL2008 R2)打开 SqlTraceFileManagement.sln 解决方案。如果在只
安装 SQL Server2012的环境下,可以使用 SQL Server 数据工具(SSDT)来打开这个解决
方案,按提示转化包,但是需要注意用 SSDT打开的包与文章下面使用的图形会有所不同,
功能和概念上是相同的。
描述包的细节之前,需要说明的是 SSIS 是非常灵活的,在 SSIS 中可以有许多替代方法来实
现相同的功能。举例来说,在包中使用 C#脚本任务来移动和删除文件。这是纯粹的个人偏好,
同样的功能可以用一段 VB 脚本任务来实现或者在一个 Foreach 循环容器中使用文件系统任
务。大家可以使用你习惯的方法来定制同样的功能。
下图展示了包完整的控制流以及连接管理器。这个包实现了以下任务:
1、从 SqlTraceData 数据库中获取被管理的 SQL Server 跟踪列表
2、对于每个跟踪
a.建立 SQL 跟踪文件夹目录
b.停止跟踪
c.将跟踪文件移到文件夹下
d.重启跟踪
3、对于文件夹下的每个跟踪文件
a.导入跟踪文件到 SqlTraceData 数据库中
b.删除跟踪文件
下面我们逐步介绍创建包的过程。
1、开始建立一个名为 SqlTraceFileImport 的空的包文件,并创建一些作用域在包内的变量,
明细如下图:
大家可以在 BIDS(或 SSDT)中,右键点击控制流画布然后选择变量来查看。SSIS 开发是非
常容易的,在 ServerName 变量中指定一个跟踪服务器的名称(这里使用 REMOTE1),为
TraceFileSelectCommand 变量指定在服务器
(\\REMOTE1\SqlTraceFiles\BatchRpcAndDeadlock\BatchRpcAndDeadlock.trc)上存在
的 SQL 2008跟踪文件的 UNC路径。这些变量实际的值设置为在运行时动态的从
SqlInstance 和 SqlTrace 表中来获取(这两个表在上篇文章中创建)。
2、SqlTraceData 连接是一个 SQL Server Native Client OLE DB 连接引用跟踪的中心管理
数据库实例,对应 SqlTraceData数据库。这个连接用来获取被管理跟踪的列表,以及作为
导入跟踪数据的目标数据库。
3、DbAdmin 连接是一个 SQL Server Native Client OLE DB 连接引用跟踪数据库实例
(REMOTE1),对应 DbAdmin
文档评论(0)