Issue
When running the diagnostic tool in PME, it fails on almost every step and doesn't generate a system report. When looking at the log for the diagnostic tool it shows "login failed for 'AMUser'". The diagnostic tool log can be found under this path: C:\Program Files (x86)\Schneider Electric\Power Monitoring Expert\Diagnostics Tool\Logs.
Below is an example of what the diagnostic tool log would look like.
[11/1/2016 5:32:18 PM] Executing command: Web Application Module Diagnostics
[11/1/2016 5:32:18 PM] Error while Web Application Module Diagnostics
[11/1/2016 5:32:18 PM] Exception message: Login failed for user 'AMUser'.
[11/1/2016 5:32:18 PM] Stack Trace: at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowcreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at DiagnosticsTool.Utilities.Technologies.SQLBase.ExecuteQuery(String query, String databaseName)
at DiagnosticsTool.Base.SqlQueryCommand.Execute()
at DiagnosticsTool.DiagnosticsManager.ExecuteCommand(Object command)
Product Line
Power Monitoring Expert 8.x
Power Monitoring Expert 9.0
Power Monitoring Expert 2020 (PME 9.1)
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Power Monitoring Expert 2023
Environment
Diagnostic logs
Resolution
*Warning: Irreparable database damage can occur. This procedure should only be performed by users familiar with SQL Server Management Studio. Databases should be backed up prior to performing this procedure.*
To correct this problem, first make sure that AMUser is created as a login in the SQL server and correctly associated with the ApplicationModules database. The AMUser login should be associated with the AMUser user for the ApplicationModules database, and be part of the AMApplicationRole and public roles. This can be checked by right-clicking on the AMUser and going to properties --> User Mapping.
If the association is correct, was the AMUser password changed after the installation? If so, to fix this problem, please either reset the AMUser password to what it was at the installation time or update the appropriate configuration files with the new password. The password for AMUser is stored in quite a few configuration files within the PME installation:
If the association is not correct, then please run the query below to restore the AMUser to the default roles it was created with.
Use ApplicationModules
EXEC sp_change_users_login 'auto_fix', 'AMUser'
When running the diagnostic tool in PME, it fails on almost every step and doesn't generate a system report. When looking at the log for the diagnostic tool it shows "login failed for 'AMUser'". The diagnostic tool log can be found under this path: C:\Program Files (x86)\Schneider Electric\Power Monitoring Expert\Diagnostics Tool\Logs.
Below is an example of what the diagnostic tool log would look like.
[11/1/2016 5:32:18 PM] Executing command: Web Application Module Diagnostics
[11/1/2016 5:32:18 PM] Error while Web Application Module Diagnostics
[11/1/2016 5:32:18 PM] Exception message: Login failed for user 'AMUser'.
[11/1/2016 5:32:18 PM] Stack Trace: at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowcreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at DiagnosticsTool.Utilities.Technologies.SQLBase.ExecuteQuery(String query, String databaseName)
at DiagnosticsTool.Base.SqlQueryCommand.Execute()
at DiagnosticsTool.DiagnosticsManager.ExecuteCommand(Object command)
Product Line
Power Monitoring Expert 8.x
Power Monitoring Expert 9.0
Power Monitoring Expert 2020 (PME 9.1)
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Power Monitoring Expert 2023
Environment
Diagnostic logs
Resolution
*Warning: Irreparable database damage can occur. This procedure should only be performed by users familiar with SQL Server Management Studio. Databases should be backed up prior to performing this procedure.*
To correct this problem, first make sure that AMUser is created as a login in the SQL server and correctly associated with the ApplicationModules database. The AMUser login should be associated with the AMUser user for the ApplicationModules database, and be part of the AMApplicationRole and public roles. This can be checked by right-clicking on the AMUser and going to properties --> User Mapping.
If the association is correct, was the AMUser password changed after the installation? If so, to fix this problem, please either reset the AMUser password to what it was at the installation time or update the appropriate configuration files with the new password. The password for AMUser is stored in quite a few configuration files within the PME installation:
- ...\Applications\bin\Framework.ServiceHost.exe.config
- ...\Applications\AlarmConfiguration\Web.config
- ...\Applications\ApplicationFramework\Web.config
- ...\Applications\Dashboards\Web.config
- ...\Applications\HierarchyManager\Web.config
- ...\Applications\RateEditor\Web.config
- ...\Applications\Slideshow\Web.config
- ...\Applications\SystemDataService\Web.config
- ...\Applications\Trends\Web.config
- ...\Applications\TrendsWebServices\Web.config
- ...\system\ReportDataService\Web.config
If the association is not correct, then please run the query below to restore the AMUser to the default roles it was created with.
Use ApplicationModules
EXEC sp_change_users_login 'auto_fix', 'AMUser'