Computers are not pulling packages from their local Package Server; instead they are pulling packages from the NS, or another Package Server that is not part of their site.
Computers are not appearing in the correct sites; the subnets match, however, when contacting the NS, are either returning the wrong codebases or only the NS codebases. Oftentimes the following error appears in the NS log:
The resource is not contained within any sites. Returning the NS codebases only.
This is an intermittent issue and appears to resolve itself over night for non-mobile computers.
Prior to Service Pack 3, Notification Server 6.0 utilized a table called AddressSubnetCache to perform site membership calculations. This table is updated by the Site Update Schedule scheduled task. By default, this task executes every 30 minutes.
However, in large environments with a large number of subnets, this task may take much longer than 30 minutes to complete. It may appear to even run nonstop at the default schedule. It is often adjusted to run only once per day.
One of the functions performed during this task, is a calculation of every IP address (SELECT DISTINCT [IP Address] FROM Inv_AeX_AC_TCPIP) against every subnet (SELECT DISTINCT [SUBNET], [SUBNET MASK] from Inv_Subnet)—each IP address is compared against each subnet/subnet mask combination.
When an IP is part of a given subnet/subnet mask combination, it is then added to the AddressSummaryCache table. Changing the default schedule for Site Update Schedule will impact computers that are new or recently moved.
Also note that mobile (laptop) users that connect from various locations and/or via VPN may not pull packages from the correct local Package Server.
As a workaround, the following query can be run on the default 30 minute schedule:
SELECT dbo.fnIsIPInSubnet(ip.[IP Address],subnet.[Subnet], subnet.[Subnet Mask]) AS 'Status', ip.[IP Address], subnet.[Subnet], subnet.[Subnet Mask]
FROM Inv_AeX_AC_TCPIP ip, vResourceItem vsite
LEFT OUTER JOIN (
SELECT DISTINCT subnet.[Subnet], subnet.[Subnet Mask], site.[_ResourceGuid] AS [_SiteGuid] FROM Inv_Subnet subnet
INNER JOIN vResourceItem vsubnet ON subnet.[_ResourceGuid] = vsubnet.[Guid]
INNER JOIN vSiteSubnetMap site ON vsubnet.[Guid] = site.[SubnetGuid]
INNER JOIN vResourceItem vsite ON site.[_ResourceGuid] = vsite.[Guid]
) subnet ON vsite.[Guid] = subnet.[_SiteGuid]
WHERE vsite.[ResourceTypeGuid] = '28C3406A-8476-407D-8F99-81656E8890F8'
INSERT INTO AddressSubnetCache
SELECT DISTINCT t.[IP Address], t.[Subnet], t.[Subnet Mask]
FROM #TempAddressSubnetCache t
left outer join AddressSubnetCache a ON t.[IP Address] = a.[IP Address] AND t.[Subnet] = a.[Subnet] AND t.[Subnet Mask] = a.[Subnet Mask] WHERE t.[Status]='1'
AND a.[IP Address] is null
ORDER BY t.[IP Address], t.[Subnet]
DROP TABLE #TempAddressSubnetCache
This query utilizes only the subnet/subnet mask combinations that appear in the Site Configuration, which reduces the amount of time it takes to calculate additions to the AddressSummaryCache table. This should only be used as a helper to the Site Update Schedule as it does not completely replace the functions performed by Site Update Schedule.
This issue is resolved in SP3.
Applies To Notification Server 6.0 up to Service Pack 2 (6.0.5287)
Imported Document ID: TECH13528
Subscribing will provide email updates when this Article is updated. Login is required.