通过 UI,我可以看到我有 2 个带有过滤器的表。我需要能够查询此信息,但找不到包含数据的表。我搜索了 Distribution 数据库中名称为“Filter”或“Where”的任何列。结果如下。不幸的是,这些表中没有一个包含我要查找的数据。
- SELECT * FROM IHarticles
- SELECT * FROM IHextendedArticleView
- SELECT * FROM MSarticles
- SELECT * FROM MSmerge_articlehistory
- SELECT * FROM MSmerge_articleresolver
- SELECT * FROM sysarticlecolumns
- SELECT * FROM sysarticles
- SELECT * FROM sysextendedarticlesview
- SELECT * FROM sysschemaarticles
有谁知道这些数据保存在哪里?
为了对此进行研究,我在我的测试服务器上配置了事务复制,其中有 1 篇文章具有行过滤器。我为 [CustomerID] <10 的 Adventureworks.Sales.Store 表执行此操作。最初,我尝试查询 distribution..sysarticles 以检查过滤器详细信息。但是,令人惊讶的是它没有显示任何数据。
然后我检查了 Adventureworks..sysarticles(即在发布数据库中)并且成功了。看下面的结果: