Microsoft Dynamics AX 2009 AOS Troubleshooting tips, AOS Troubleshooting Tips and Techniques in Microsoft Dynamics AX 2009
· AOS Configuration
· Best Practices
· Troubleshooting AOS issues
· Finding Sessions and SPIDS
· AOS Crash Maintenance
· Tools for Troubleshooting AOS issues
AOS Configuration
· Application Object Server Configuration
· Database Tuning Tab
· Tracing Tab
· Performance Tab (Dynamics AX 2009)
· Dynamics AX Server Configuration Utility
· Configuration stored in Registry:
o HKLMSYSTEMCurrentControlSetDynamics Server4.0instanceconfig name
· Multiple AOS instances and configurations
Server Configurations
· Each AOS instance listed
Application Object Server Tab
· Configuration command to run at startup
· Allowing clients to print from AOS printers
· Enabling breakpoints
· Fatal error reporting
· Load Balancing
AOS Load Balancing
· Number of client sessions
· What is a load balancer
· How connections work when using load balancing
· Factors when deciding if you need a load balancer
· Provides fail over ability
· Balances number of clients between AOS’
· Control the number of clients per AOS
AOS without clustering
· With no options marked in the load balancing section each client will connect to the AOS in their client configuration
Each AOS balancing load
As a client connects to an AOS that AOS queries the database to determine which AOS the client will connect to
AOS as Load Balancer
· The load balancer makes the connection to the database and determines which AOS the client will connect to
· This AOS will not accept any client connections nor do any processing
· This AOS does not count against your AOS licenses
AOS Load Balancer – Client Configuration
· In the Dynamics AX 4.0/5.0 Configuration utility you will want to specify the machine name and port number for the AOS load balancer instance
· Add AOS member instances after the load balancer
If you do not use a load balancer then you specify all the AOS member instances in your client configuration. If you do used the load balancer then specify the load balancer first and then the AOS member instances in case your load balancer AOS fails.
Database Tuning Tab
· Max open cursors
· Max buffer size
· Allow index hints in queries
Tracing Tab – Server Settings
· SQL Statements
o Queries issues to the SQL Database
· Bind variables
o Parameters specified for each of the SQL queries
· Row fetch
o Number of rows returned by SQL
· Row fetch summary
o Same as row fetch, and includes timing information
· Connect and disconnect
o Connections and disconnections to SQL
· Transactions: TTSBegin, TTSCommit, TTSAbort
o Transaction statistics, not necessary if X++ method tracing is enabled
Tracing Tab – SQL Settings
· RPC round trips to server
o Remote Procedure Calls between Client and Server
· X++ method calls
o Method calls within the X++ language
· Function Calls
o X++ built in functions such as int2str
· Number of nested calls
o Depth of the X++ call stack when collecting traces
Dynamics AX 2009 features
· Performance tab
· 64 bit
· Batching
· Time Zones
Best Practices
· Separate AOS’
· Separation of environments
· Monitoring performance
· Code deployment
· Applying latest Kernel hotfixes
Separate AOS’
· Consider separating out the following processes / components based on load
o Additional Dynamics AX components
o Third Parties
o Batch
Separate out environments
· Servers for production environment should be on dedicated boxes
o Server resources dedicated to production performance
o Reduce risk of development code utilizing majority of Servers resources
o Application of hotfixes
o Additional components that need .Net BC
AOS Baselines
· Performance Monitor
o Memory
o CPU
· &nb
sp; Memory usage
sp; Memory usage
o Different times of day
o When specific processes run
Note:
On Dynamics AX 4 memory limitation of 2 Gig for each AX32serv.exe process
• If AX32serv.exe consistently around 1.5 gig of memory start evaluating processes and consider adding another AOS
• If AX32serv.exe reaches 1.8 gig of memory you will likely see user connections to the AOS denied and possibly AOS crashes
On Dynamics AX 2009 if running on Windows Server 64 bit editions the limitation is based on memory in server.
Proper code deployment
· Code promotion schedule
· Promote code during down time
· Determine if you will use XPO’s or layers to move code from development/test to production
· Test code in environment that matches production before deploying
Apply Kernel Hotfixes
· Improved Stability
· Apply on all machines with a Dynamics AX components
o Dynamics AX client
o Enterprise Portal
o SSRS machine
o Any machine with .Net Business Connector
Troubleshooting AOS errors
· Application event log
· RPC errors
· Connection issues
· AOS Crashing
Application event log
· Windows default event logging tool
· Different types of events
o AOS starting
o User errors
o Cache flushing
o Crashes
Events related to connection
· Lost connection to AOS
· Cannot or lost connection to SQL
· Lost connection to the AOS
Connection to AOS
· Object Server 01: RPC error: Client provided an invalid session ID 75
o This error message indicates that the AOS has crashed. After the AOS crashed a client that was open when the crash occurred tried to connect to the AOS. Since the AOS was restarted it does not recognize the existing client connection.
o To resolve this issue the client has to be shut down and restarted
- Object Server 01: No ping from 77. Terminating the session.
- This error message indicates that the end user ended the client session before the AOS could return the requested results to the client.
- To prevent this error message end users shouldn’t end task (ctrl –alt – delete) their Dynamics AX session. Instead an end user should contact their AX administrator and have them end their session from the online users form.
- Object Server 01: SPID 57 for Session Id 77, is still present in the database. Please delete the SPID from the database.
- This indicates that the end user shut down their Dynamics AX client before SQL finished processing the request.
- You can delete the SPID or let SQL finish processing
- If you don’t clean up the SPID it could cause issues such as blocking transactions, and open transactions which may lead to transaction log backup failures.
Connection to SQL
· Object Server 03: Fatal SQL condition during login. Error message: \”[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user \’Corpaxadmin\’.“
- This typically indicates the AOS service account does not have permissions to the database.
- Object Server 03: SQL diagnostics: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user \’Corpaxadmin\’.. Connect information was: Userid = [], Database = [DAX_Prod], Server = [server1], DSN = [], Other = []
- This is caused by insufficient SQL permissions.
· Object Server 03: Internal Error occurred executing stored procedure when creating session for the AOS.
o This indicates the AOS Service account does not have adequate permissions to the stored procedures in the database.
Connection to application files
· Error in file: C:Program Files DynamicsAX Applicationapplprod axsys.aod while reading in record 215B1D0
Windows Error: = Error Code: 64 = The specified network name is no longer available.
Try again?
Windows Error: = Error Code: 64 = The specified network name is no longer available.
Try again?
o This error indicates the AOS has lost connection to the Application files.
Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.
Big Data Services
Advanced Analytics Solutions
Full Stack Development Services