|
|
1
5
你可以利用 Microsoft.SqlServer.Management.Trace 名称空间对象;它们针对SQL Profiler提供的相同功能提供API。这是一种针对数据库编写自己的sql脚本的替代方法。然而,就像SQL Profiler一样,这些对象在幕后执行SQL跟踪存储过程(或其变体),以创建、运行和管理跟踪。 如果您使用一个探查器实例来评测另一个实例(或者使用一个探查器来评测自己,方法是从跟踪中删除“不喜欢‘SQL profiler…’”筛选条件(我认为这是一个应用程序名筛选器),那么您将确切地看到探查器所做的事情与您在SQL中所做的事情相同,或者SMO对象将从API中所做的事情相同。 |
|
|
2
3
你能做的就是设置你的“完美”跟踪,并将其脚本化为SQL。 然后执行它来运行跟踪并将输出保存到文件或表中。 现在,您可以将SQL包装起来,在另一个存储的过程中创建跟踪,该过程可以通过SQL代理/空闲阈值运行,但使用fn_trace_getinfo查看是否已经运行了一个。 你 不能 在SSMS中实现自动化或使用环境变量:代码、作业、警报等都必须存在于服务器上。 您可以将脚本跟踪放入批处理文件中,并通过osql/sqlcmd运行它,但必须手动调用它。 没有profiler API:它所做的只是运行存储过程,就像任何解决方案一样。 为什么不能添加独立于应用程序代码的监控SQL代码? 你 can't use SMO either ... 只是为了读取痕迹 编辑:跟踪总是要求对服务器运行SQL |
|
|
3
1
您可以使用系统存储过程来自动化探查器。在下面的网站上查看同样操作的详细信息 http://vyaskn.tripod.com/server_side_tracing_in_sql_server.htm |
|
|
4
0
GBN就在这里;SQL Profiler所做的只是在SQL Server上执行存储过程:这些过程启动、配置和停止跟踪。这意味着,您不需要尝试自动化探查器,只需执行相同的跟踪过程,就可以获得相同的行为。 要自动启动和停止跟踪,可以使用SQL Profiler创建脚本;该脚本可以从批处理文件中执行。所以你会这样做;
这
这是创建跟踪并将事件附加到跟踪。 现在,为了开始跟踪,您可以计划执行这个文件。批处理文件看起来像;
|
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |