0

我们在 sql server 数据库(表、视图等)中有大约 2'000 个“旧”对象,我们真的不知道它们是否仍在使用中。我想为这些对象创建一个扩展的事件监听器。我试图WHERE在命令中添加一个巨大的子句CREATE EVENT SESSION,由 2'000条[package0].[equal_int64]([object_id], (<objectId>))语句组成。

但是,命令最大长度是 3'000 个字符,所以我不能这样做。而且我猜这个文件管理器的性能不会太好,反正......

现在我的问题是:我可以使用select * from sys.dm_xe_objects where object_type= 'pred_compare'. 这给了我诸如name=equal_uint64,之类的结果package_guid=60AA9FBF-673B-4553-B7ED-71DCA7F5E972。package_guid 指的是sys.dm_xe_packages,其中引用了几个似乎实现特定谓词的 DLL。

是否可以定义我自己的“包”并在那里实现一个谓词(这将使用哈希表过滤 objectId)?是否有可能以某种方式将这样的包导入 SQL 服务器,以便我可以定义自定义谓词?

或者有没有人有另一个想法如何实现这样的过滤器?

4

0 回答 0