2019年SSRS,如何解读Subscriptions.InactiveFlags?
In Ssrs 2019, how does one interpret Subscriptions.InactiveFlags?
在Ssrs数据库目录中,Subscriptions
table的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;
在Ssrs数据库目录中,Subscriptions
table的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;