使用 C# 从跟踪文件中提取 Transact-SQL 事件
我必须将 SQL Server 2005 中创建的跟踪文件数量与 2008 进行比较,并比较每个语句的结果。这是迁移顺利进行的建议方法之一
在 SQL Profiler 菜单中,我可以进入
文件/导出/提取 SQL Server 事件/提取 Transact-SQL 事件
它创建了漂亮的脚本文件,其中所有 T-SQL 语句与 GO 分开 我希望通过代码获得相同的结果,因为我必须处理大约 140 个跟踪文件,每个文件大小为 50MB,并且它们的数量可能会有所不同。
如果我将每个 SP 的跟踪文件导出到 TraceTable 中,我大约有四个记录
RPC:Starting
SP:开始
SP:已完成
RPC:Completed
在上面的情况下,提取仅产生两行,
Exec some_sp
GO
我知道如何使用 SMO 读取跟踪文件,但我再次必须创建相当复杂的逻辑来正确配对和聚合所有开始/完成事件,并且不会错过任何内容。
有谁知道如何使用 SMO 和 C# 来实现提取 T-SQL 事件并将跟踪文件的分析委托给 SMO 和/或 Profiler API?
I have to play number of trace files created in SQL Server 2005 against 2008 and compare result of each statement. It is one of the proposed ways that migration went fine
In SQL Profiler menu I can go
File/Export/Extract SQL Server Events/Extract Transact-SQL Events
It creates nice script file where all T-SQL statements divided with GO
I would like to get same result through the code since I have to process about 140 trace files 50MB each and number of them can vary.
If I export trace file into TraceTable for each SP I have about four records
RPC:Starting
SP:Starting
SP:Completed
RPC:Completed
In situation above extract produce just two lines
Exec some_sp
GO
I know how to read tracefile using SMO but again I have to create pretty sophisticated logic to properly pair and aggregate all Start/Complete events and not miss anything.
Does anybody knows hot to achieve extract T-SQL events using SMO and C# and delegate analysis of tracefile to SMO and/or Profiler API?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论