gpt4 book ai didi

sql-server - 如何使用 SQL Server Profiler 查看在 CLR 触发器中运行的 TSQL?

转载 作者:行者123 更新时间:2023-12-03 16:46:29 27 4
gpt4 key购买 nike

如何使用 SQL Server Profiler 查看在 CLR 触发器中运行的 TSQL?

我在 MS SQL Server 数据库中有一个 CLR 触发器,它检查表上的插入、更新、删除,然后有条件地插入另一个表。是否有设置可以获取从 CLR 触发器内进行的那些 T-SQL 插入以显示 SQL Server Profiler 跟踪结果?

最佳答案

在事件选择选项卡中,单击“显示所有事件”后,会出现一个 CLR 部分。其中只有一个事件“Assembly Load”。当有加载 CLR 程序集的请求时会发生此事件。来自程序集的任何 SQL 都应该注册为标准 TSQL 事件,因此我会转到 TSQL 部分并选择每个“SQL:”事件。另请查看“错误和警告”部分。我假设程序集的设置有问题,或者在调用 SQL 之前发生了 .NET 异常。

如果您的 CLR 触发器只是对另一个表的条件插入,我不会使用程序集。如果表被频繁选择、更新或删除,则尤其如此。程序集在服务器应用程序内存空间中运行,而不是在专用的 sql server 内存空间中运行,因此突然之间您的 sql server 使用了比正常情况更多的应用程序内存。我已经以这种方式崩溃了我相当份额的 sql 服务器。

它还在源代码控制、构建方面引入了更多复杂性,并且存在一些您应该了解的安全问题。总而言之,我认为使用 SQL Server CLR 应该是最后的努力。

关于sql-server - 如何使用 SQL Server Profiler 查看在 CLR 触发器中运行的 TSQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577714/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com