2019年SSRS,如何解读Subscriptions.InactiveFlags?

In Ssrs 2019, how does one interpret Subscriptions.InactiveFlags?

在Ssrs数据库目录中,Subscriptionstable的InactiveFlags列怎么解释?

我在网上找不到任何真正 authoritative/complete 的东西(好吧,除了“InactiveFlags = 0 表示订阅已启用”)。我仔细阅读了Ssrs中的built-in sprocs/funcs,但除了DeliveryRemovedInactivateSubscription,它们都只是传递给它们的任何值。

所以我去反编译了 ReportingServicesLibrary.dll(我使用了“dnSpy”)并找到了 Microsoft.ReportingServices.Library.InActiveFlags 枚举。我在过去的 Ssrs 2012 工作中亲身体验过“8”和“16”,所以一切都一致。是一个bit-mask,定义如下:

internal enum InActiveFlags
{
    Active, // 0
    DeliveryProviderRemoved, // 1
    SharedDataSourceRemoved, // 2
    MissingParameterValue = 4,
    InvalidParameterValue = 8,
    UnknownItemParameter = 16,
    MissingExtensionEncryptedSettings = 32,
    CachingNotEnabledOnItem = 64,
    DisabledByUser = 128
}

例如

--Find subs with invalid params ('cause someone made a breaking change to the report after the sub was created).
SELECT * FROM Subscriptions WHERE InactiveFlags & 8 != 0;