在 Ssrs 2019 中,如何解释 Subscriptions.InactiveFlags?

Gra*_*ger 5 reporting-services ssrs-2019

在Ssrs数据库目录中,您应该如何解释InactiveFlags表的列Subscriptions

Gra*_*ger 16

我在网上找不到任何真正权威/完整的东西(好吧,除了“InactiveFlags = 0意味着订阅已启用”)。我仔细研究了 Ssrs 中的内置存储过程/函数,但除了 之外DeliveryRemovedInactivateSubscription,它们都只是传递给它们的任何值。

所以我去反编译了 ReportingServicesLibrary.dll(我使用了“ dnSpy ”)并找到了 Microsoft.ReportingServices.Library.InActiveFlags 枚举。我个人在过去的 Ssrs 2012 工作中经历过“8”和“16”,所以一切都是一致的。它是一个位掩码,定义如下:

internal enum InActiveFlags
{
    Active, // 0
    DeliveryProviderRemoved, // 1
    SharedDataSourceRemoved, // 2
    MissingParameterValue = 4,
    InvalidParameterValue = 8,
    UnknownItemParameter = 16,
    MissingExtensionEncryptedSettings = 32,
    CachingNotEnabledOnItem = 64,
    DisabledByUser = 128
}
Run Code Online (Sandbox Code Playgroud)

例如

--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; 
Run Code Online (Sandbox Code Playgroud)