1

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

4

1 回答 1

4

我在网上找不到任何真正权威/完整的东西(嗯,除了“InactiveFlags = 0意味着订阅已启用”)。我仔细阅读了 Ssrs 中的内置 sprocs/funcs,但除了 之外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
}

例如

--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; 
于 2020-08-20T15:48:51.423 回答