KNOWN ISSUE: ITMS 7.1.2 MP1 - Failed to load resource associations. [The user does not have permission to perform this action.]

Article:TECH198556  |  Created: 2012-10-18  |  Updated: 2014-09-19  |  Article URL http://www.symantec.com/docs/TECH198556
Article Type
Technical Solution


Issue



 After upgrade to MP1 number of actions result in error Failed to load resource associations. [The user does not have permission to perform this action.]

Similar errors reported in SMP logs.


Error



Message 1:
Failed to load resource associations. [The user does not have permission to perform this action.]
 
( Exception Details: System.Data.SqlClient.SqlException: The user does not have permission to perform this action.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Altiris.NS.ResourceManagement.Database.BatchSqlClientConnection.ExecuteSQLNoResults(String query, Int32& rowsAffected)
   at Altiris.NS.ResourceManagement.Database.BatchSqlClientConnection.ExecuteSQLNoResults(String query)
   at Altiris.NS.ResourceManagement.ResourceAssociationImporter.ExecuteInsertOperations(IDataLoaderConnection dbConnection, List`1 insertOperations, List`1 validateOperations)
   at Altiris.NS.ResourceManagement.ResourceAssociationImporter.LoadResourceAssociationsImpl(ResourceAssociationDataCollection resourceAssociationDataCollection) )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.NS.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.NS.ResourceManagement.ResourceAssociationImporter.LoadResourceAssociationsImpl(ResourceAssociationDataCollection resourceAssociationDataCollection)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, IsolationLevel isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Action`1 action, Action`1 retry)
   at Altiris.NS.ResourceManagement.ResourceAssociationImporter.LoadResourceAssociationsImplWithDeadlockRetry(ResourceAssociationDataCollection resourceAssociationDataCollection)
   at Altiris.NS.ResourceManagement.ResourceAssociationImporter.InitLoad(ResourceAssociationDataCollection resourceAssociationData)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessage_Impl(String message, Boolean useFilename)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessageInternal(String message, Boolean useFilename)
   at Altiris.NS.ClientMessaging.EventQueueDispatcher.Dispatch(String message, Boolean useFilename)
   at Altiris.NS.ClientMessaging.EventQueueDispatcher.PerformDispatch(DispatchSlot slot)
   at Altiris.NS.ClientMessaging.EventQueueDispatcher.DispatchSingleNSE(DispatchSlot slot)
   at Altiris.NS.ClientMessaging.EventQueueDispatcher.WorkerLoop(Object deliverySlot)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)
 )
( Extra Details:  Type=System.Data.SqlClient.SqlException Src=.Net SqlClient Data Provider )

 

 
Message 2:

( Exception Details: Altiris.NS.Exceptions.AeXUnauthorizedAccessException: The
current user does not have required permission 'read' to load item 'e1ad1230-
cadf-4a60-b382-9955bcbd0fec'.
   at Altiris.NS.ItemManagement.Item.RaiseItemLoadFlagsSecurityException(String
message)
   at Altiris.NS.ItemManagement.Item.CheckCanGetItem(IItem item, IEnumerable`1
accessPermissions, ItemLoadFlags itemLoadFlags)
   at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid itemGuid,
IEnumerable`1 accessPermissions, ItemLoadFlags itemLoadFlags)
   at Altiris.NS.ItemManagement.Item.GetItem[T](Guid itemGuid, IEnumerable`1
accessPermissions, ItemLoadFlags itemLoadFlags)
   at Altiris.NS.ItemManagement.Item.GetItem[T](Guid itemGuid)
   at Altiris.NS.ItemManagement.Item.GetItem(Guid itemGuid)
   at Altiris.NS.StandardItems.Product.ProductInstallation.InstallProduct()
   at Altiris.Reporting.ReportingInstallation.InstallProduct()
   at
Altiris.NS.Installation.ProductConfigurationWorker.ConfigureProductInternal
(String configFile, Boolean ownsProgressContext, SerializationMode
serializationMode) )


Environment



This is only seen with Symantec Management Platform 7.1 SP2 MP1. Higher versions of Altiris may have similar issues but very likely are not this exact one.


Cause



New stored procedure requires sysadmin rights for SQL server to access one of the system tables.

 


Solution



This issue has been reported to Symantec Developement Team. This issue has been fixed in the ITMS 7.1 SP2 MP1.1 Release. See DOC5955.

For customers that have not installed ITMS 7.1 SP2 MP1 yet, please refer to TECH197966 "Upgrading to ITMS 7.1 SP2 – MP1.1 – Best Practices"

For those customers that already upgraded to ITMS 7.1 SP2 MP1, please upgrade to ITMS 7.1 SP2 MP1.1 using SIM.

 

This was the previous workaround for those customers that already upgraded to ITMS 7.1 SP2 MP1 prior to the 7.1 SP2 MP1.1 release:

please use the following steps to fix the issue:

1.       Elevate the SQL permissions using the following query (or grant SysAdmin rights to your account):

GRANT view server state TO AltirisServiceLoginNameHere      --usually the AppID account name

2.       On the SMP server, run from the command prompt (from the "...\Program Files\Altiris\Notification Server\Bin" directory):

aexconfig.exe /configureall

3.       After the configuration completes, apply the updated Stored Procedure attached to this KB. See attached "spResourceAssociationsLoadData_mp1-fixed.sql"

4.       Run the following SQL commands to clear previous stored procedure cached records:

dbcc freeproccache
dbcc dropcleanbuffers

5.       Revert the SQL permissions if desired by running this query (or remove the SysAdmin rights if those were given):

REVOKE view server state TO AltirisServiceLoginNameHere

6.       Run to the same scenarios where you were getting these permissions errors to validate if the issue is still present or not. If you still see those, restore the database from prior to the upgrade and run the steps above one more time.


Related Article

Error "User does not have permissions to create a resource of the given type ." occurs when trying to save an Asset Management or CMDB Solution asset type after upgrading to from Symantec Management Platform 7.1 to Symantec Management Platform 7.5
http://www.symantec.com/business/support/index?page=content&id=TECH215867


Supplemental Materials

SourceETrack
Value2964501, 2965187, 2965265


Article URL http://www.symantec.com/docs/TECH198556


Terms of use for this information are found in Legal Notices