Alert jobs do not take ST / DST changes into account
This time, it's not about SharePoint Development, but I really think this may be useful to many.
It seems that SharePoint doesn't take the information provided by the eventtime column in the eventcache table into account (which could allow it to know during which periods (ST or DST) the alert has been created), or maybe the webtimezone information provided in the schedsubscriptions table is not appropriately used as well.
Instead, it seems that SharePoint only takes into account the information provided by the notifytime column and the notifytimeutc column provided in the schedsubscriptions table, and it doesn't check whether this one corresponds to ST or DST times.
If we continue to test the behavior, we can see that during ST time, a DST alert is sent one hour before the programmed hour.
So what can be done?
1. We can install the SharePoint Administration Toolkit on the web web front-ends. You can find the toolkit here: https://technet.microsoft.com/en-us/library/cc508849.aspx.
2. Once the toolkit is installed on the web front-end, we can run the stsadm -o updatealert command using the same URL for both -url and -oldurl. Here you can find the syntax for the updatealert command: https://technet.microsoft.com/en-us/library/cc508847.aspx. Below is an example:
STSADM -o updatealert -url https://server_name -oldurl https://server_name
Running the command this way won’t make any changes to the alert url, but the action of updating the alert should cause it to go out and grab the correct time. This command will need to be run for each affected site collection.