This post has been republished via RSS; it originally appeared at: Configuration Manager Archive articles.
First published on TECHNET on Oct 02, 2014
Lately was looped in an issue where we target a DP to the package and from the DistMgr.log it shows 2301 for the package being successfully send to the DP and verified in the ContentLib too but does not show in the console. It stays 0.
I’ve a key created before on the info of the flow in background. There are 4 main Global tables which are responsible for other updates on other tables via Trigger –
1. SMSPackages_G | [tr_SMSPackages_ContentNotification] -> ContentDistribution | [tr_ContentDistribution_Notification] -> ContentDistributionNotification | [tr_ContentDistributionNotification_Summarizer] -> ContentDistributionMessages
2. PkgServers_G | [ tr_PkgServers_G_ContentNotification ] –>ContentDistributionNotification -[ tr_ContentDistributionNotification_insert ] –>ContentDistribution –>[Cont] ContentDistribution | [ tr_ContentDistributionNotification_Summarizer ] –> ContentDistributionMessages
| [tr_ContentDistribution_Notification] -> ContentDistributionNotification
3. PkgStatus_G | [tr_PkgStatus_G_ContentNotification]-> ContentDistribution | [tr_ContentDistribution_Notification] -> ContentDistributionNotification | [tr_ContentDistributionNotification_Summarizer] -> ContentDistributionMessages
4. DistributionStatus | [ tr_DistributionStatus_ContentNotification ] -> ContentDistributionMessages
- Use the 2 nd one above for this case as we are tracking the DP targeting.
Now in our case, I see the entry in the PkgServers_G table for the DP being added.
Checking for the package
* smspackages pkgid =
* PkgServers_G pkgid =
* ContentDistributionNotification pkgid =
* ContentDistribution pkgid =
- So I see the ContentDistributionNotification has the value but ContentDistribution table does not.
- So the insert trigger [ tr_ContentDistributionNotification_insert ] on the ContentDistributionNotification table is not running.
- Got a snippet of the trigger [see below] and modified it to return and check if that has the value and yes we do see the value, so if this trigger was run it would have send the updates to the other tables.
DistributionPoints dp dp.DPID = ins.DPID
SMSPackages_G pkg pkg.PkgID = ins.PkgID
DistributionContentVersion ver ver.PkgID = ins.PkgID
pkg.SourceSite = ver.SiteCodever.DPNALPath = N
PkgStatus_G s s.PkgServer = dp.NALPath s.ID = ins.PkgID
DistributionContentVersion v v.DPNALPath = dp.NALPath
v.PkgID = ins.PkgID
- Confirmed it by running a Profiler that the Insert Trigger never ran.
- Ran the Insert Trigger Manually. And now the Data came in the ContentDistribution.
- But still the Data is not reflecting in the Console.
- Upon Verification found that the 'StateGroup' for the working is 1 in the ContentDistributionNotifications Table. But in our case it is 0.
- Found that there is Trigger for the ContentDistribution table [ tr_ContentDistribution_Notification ] which updates that in the ContentDistributionNotification table. And that also did not run.
- Ran the same manually and the StateGroup changed to 1.
- The console now shows the same as installed.
- So not sure why the insert trigger did not work for -
- One thing which is now known to us is that only the first trigger on the PkgServers_G ran and after that none of the triggers ran. Rings a bell!!! :)
- The setup has not worked from August and upon checking found that the SQL was upgraded to SQL 2012. So chances are that the SQL properties could be modified.
- Followed the link - http://msdn.microsoft.com/en-us/library/ms190946(v=sql.110).aspx and checked the option for
1.) Server trigger recursion and 2.) Nested triggers which was OFF .
- Set it on by running:
Checked now and the issue got fixed!! :)
Hope it helps! Do keep working and sharing!