Troubleshooting RDS License Server Event 44 on Windows Server 2016/2012
This article delves into the specifics of Event ID 44, which may appear on a Remote Desktop Licensing (RD Licensing) server running supported versions of Windows Server. We will explore the details of this event, its underlying cause, and the recommended course of action for administrators. Understanding this particular event is crucial for maintaining a healthy and functional Remote Desktop Services (RDS) environment.
Understanding Remote Desktop Services (RDS) Licensing¶
Remote Desktop Services (RDS) allows users to access desktops and applications hosted on a server. For this functionality, Client Access Licenses (CALs) are required, and these are managed by an RD Licensing server. The RD Licensing server is a critical component in any RDS deployment, responsible for issuing and tracking CALs for users or devices connecting to RD Session Hosts. Without proper licensing, users may be unable to connect after a grace period expires, leading to significant service disruptions.
An RD Licensing server typically communicates with RD Session Hosts and an RD Connection Broker to ensure that all client connections are appropriately licensed. It maintains a database that records issued licenses and their expiry dates. This intricate system relies on smooth database operations and inter-component communication to function effectively.
Decoding Event ID 44 in the RD Licensing Server Log¶
Administrators often monitor event logs as a primary method for diagnosing issues within a Windows Server environment. The Event Viewer is an indispensable tool for this purpose, providing insights into system operations, security events, and application-specific messages. When an RD Licensing server encounters an issue, relevant messages are typically logged in the System or Application logs.
Event ID 44 is an entry specifically related to the Remote Desktop Licensing component. When this event occurs, the server records the following details in its event log:
Event ID: 44
Log Name: System
Source: Microsoft-Windows-TerminalServices-Licensing
Date: [Date and Time]
Event ID: 44
Task Category: None
Level: Error
Keywords: Classic
Computer: rds1.contoso.com (Example hostname)
Description:
The following general database error has occurred: "ESE error -1316 JET_errInvalidObject, Object is invalid for operation.
This error message indicates a database issue within the RD Licensing server. Specifically, it points to an ESE (Extensible Storage Engine) error, which is a common database technology used by various Microsoft products, including Active Directory and Exchange Server. The code JET_errInvalidObject coupled with the description “Object is invalid for operation” suggests that the database engine attempted an operation on an object that was not in a valid state for that particular action.
The Cause: An Object Already in Use¶
The underlying cause of Event ID 44, as identified by Microsoft, is a call made on an object that has already been opened or is in an unexpected state. In the context of a database, this could occur during various operations, such as:
- Concurrent Access: Multiple internal processes attempting to access or modify the same database object simultaneously, leading to one attempt being made on an object that another process has already opened or closed.
- Cleanup Operations: During routine database maintenance or cleanup, an operation might attempt to reference an object that has already been deallocated or marked for removal.
- Internal State Transitions: The database engine might be transitioning the state of an object, and another operation might attempt to use it before the transition is complete, or after it has passed the relevant state.
Essentially, the database engine within the RD Licensing service tried to interact with an object that, at that precise moment, was not in the expected valid state for the requested operation. This is a common occurrence in complex, multi-threaded database applications where timing and object lifecycle management are critical.
Resolution: Safely Ignoring Event 44¶
Despite being logged as an “Error,” Microsoft’s official stance is that Event ID 44 can be safely ignored. This is a crucial piece of information for administrators, as an “Error” level event typically warrants immediate investigation. The reason for this recommendation is that, in most cases, this event does not indicate a critical failure or an issue that impacts the functionality of the RD Licensing server.
The RD Licensing service is designed with resilience, and it likely handles these transient database object state issues gracefully. The operation that triggered the event might be retried successfully, or it might pertain to a non-critical internal process that does not affect license issuance or tracking. Administrators should not interpret this event as a sign of impending license server failure or a disruption in client access. It does not mean that licenses are not being issued correctly or that the licensing database is corrupt.
While it is natural for IT professionals to be concerned about error messages, understanding the specific context and Microsoft’s guidance is key. Continual monitoring for other more critical errors is always recommended, but Event ID 44 itself does not require any specific action or troubleshooting steps.
Status of Investigation¶
Microsoft maintains that it is researching this issue. This indicates that while the event is currently considered benign and ignorable, the company is still investigating the root cause and potentially looking into ways to prevent it from being logged as an error, or to provide more clarity on its occurrence. Future updates or knowledge base articles might offer more detailed technical explanations or even a fix that alters how this event is handled or logged.
Administrators should regularly check Microsoft’s official documentation and knowledge base for any updates regarding this event or the RD Licensing service in general. Such updates could provide further insights or change the recommended course of action.
Applies To: All Supported Versions of Windows Server¶
This event is not limited to a specific version of Windows Server but applies broadly to all supported versions that host the Remote Desktop Licensing role. This wide applicability suggests that the underlying ESE database interaction behavior causing this event is present across multiple iterations of the operating system’s RD Licensing component. This reinforces the idea that it’s an inherent behavior rather than a bug introduced in a particular release.
Beyond Event 44: General RDS Licensing Troubleshooting¶
While Event 44 can be safely ignored, it’s essential for administrators to have a comprehensive understanding of how to troubleshoot other potential issues with their RDS Licensing servers. A robust RDS environment depends on proper licensing.
1. Verify RDS Licensing Server Configuration¶
The first step in any licensing issue is to confirm that the RD Session Hosts are correctly configured to point to the licensing server.
- Group Policy: For domain-joined servers, Group Policy is the preferred method. Navigate to
Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing.Use the specified Remote Desktop license servers: Enable this and list your licensing server(s) by FQDN or IP address.Set the Remote Desktop licensing mode: Enable this and select eitherPer UserorPer Devicemode, matching your CALs.
- Server Manager (Local Configuration): If Group Policy isn’t used or for standalone servers, configure the licensing settings via Server Manager. Go to
Remote Desktop Services > Overview > Deployment Overview > Tasks > Edit Deployment Properties. In theRD Licensingtab, specify the licensing mode and add the licensing server. - Registry: In some rare cases, direct registry modification might be needed (e.g.,
HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServersorHKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services). However, GPO or Server Manager is always preferred.
2. Check Network Connectivity and Firewall Rules¶
The RD Session Hosts must be able to communicate with the RD Licensing server.
- Ping Test: Simple
pingto the licensing server’s IP address and FQDN from the RD Session Host. - Port Check: RD Licensing uses TCP port 135 for initial communication (RPC Endpoint Mapper) and then dynamic RPC ports. Ensure firewalls (Windows Firewall and network firewalls) allow this traffic.
- A common way to check this is using
Test-NetConnection -ComputerName YourLicenseServer -Port 135in PowerShell. - If dynamic ports are an issue, you can restrict RPC dynamic port range, though this is a more advanced configuration.
- A common way to check this is using
- DNS Resolution: Verify that the RD Session Host can correctly resolve the FQDN of the licensing server. Use
nslookupfor this.
3. Validate License Installation and Activation¶
Ensure that CALs are properly installed and activated on the RD Licensing server.
- RD Licensing Manager: Open the
Remote Desktop Licensing Managerconsole (licmgr.exe).- Verify that your licensing server is listed and activated.
- Check that the correct number and type of CALs (Per User or Per Device) are installed.
- Look for any warning or error icons within the console.
- Event Logs on Licensing Server: Examine the
SystemandApplicationevent logs on the licensing server for other licensing-related errors (e.g., issues with database, activation, or CAL issuance).
4. Troubleshoot License Issuance Failures¶
If users are experiencing issues obtaining licenses, consider the following:
- Grace Period Expiration: New RD Session Hosts get a 120-day grace period without a licensing server. If this expires, users will be denied access. Ensure your licensing server is functional before this period ends.
- Licensing Mode Mismatch: If your RD Session Host is set to
Per Usermode but you only havePer DeviceCALs (or vice-versa), licenses won’t be issued. Ensure consistency. - CAL Availability: Confirm that you have enough available CALs for the number of concurrent users/devices.
- User/Device CAL Tracking:
- For
Per UserCALs, the licensing server tracks usage per user. Ensure users are logging in with valid domain credentials (if applicable). - For
Per DeviceCALs, the licensing server issues temporary licenses, then permanent ones. Ensure devices can persist their license information.
- For
- Database Corruption (Rare for Event 44, but a general issue): If the RD Licensing database (
%SystemRoot%\System32\LServer\TLSLic.edb) becomes corrupt, it can prevent license issuance. This typically requires advanced troubleshooting usingesentutl.exeto repair or, in severe cases, rebuilding the database (which means reinstalling CALs). This should be a last resort and performed with backups.
5. Monitoring RDS Licensing Health¶
Proactive monitoring can help prevent major outages.
- Performance Monitor: Monitor performance counters related to RDS Licensing, such as
RD Licensing > Total Licenses Issued,RD Licensing > Total Licenses Available. - Regular Event Log Review: Beyond just Event ID 44, regularly review the
SystemandApplicationlogs on both RD Session Hosts and the RD Licensing server for any other warnings or errors related to TerminalServices-Licensing or RemoteDesktopServices. - PowerShell Scripting: Automate checks for licensing server status, CAL counts, and grace period remaining using PowerShell scripts.
mermaid
graph TD
A[User attempts to connect to RD Session Host] --> B{Is RD Session Host configured with Licensing Server?};
B -- No --> C[Grace Period (120 days) or Connection Fails];
B -- Yes --> D{RD Session Host contacts RD Licensing Server};
D -- Network/Firewall Block --> E[Connection Fails - Check Network/Firewall];
D -- Connection OK --> F{RD Licensing Server checks for CALs};
F -- No CALs / Mode Mismatch --> G[Connection Fails - Check CALs / Licensing Mode];
F -- CALs Available --> H[RD Licensing Server issues CAL];
H --> I[User connects successfully];
SubGraph Troubleshooting Steps
C --> J(Configure Licensing Server via GPO/Server Manager);
E --> K(Verify Connectivity: Ping, Test-NetConnection Port 135, DNS);
G --> L(Install CALs, Check Licensing Mode in RD Licensing Manager);
F --> M(Monitor Event Logs for specific errors);
H --> N(Monitor Performance Counters for CAL usage);
End
J --> B;
K --> D;
L --> F;
M --> F;
N --> H;
This diagram illustrates the flow of an RDS connection and where licensing checks occur, along with potential troubleshooting points.
Conclusion¶
While Event ID 44 in your Remote Desktop Licensing server’s event log might initially seem alarming due to its “Error” level, it is important to remember Microsoft’s guidance: this event can be safely ignored. It represents a benign, transient database operation issue that does not impact the functionality of your RDS licensing. Your licensing server will continue to issue and track CALs without interruption.
However, a healthy RDS environment requires more than just ignoring one specific event. Proactive monitoring, regular configuration checks, and a solid understanding of general RDS licensing troubleshooting steps are vital. By following best practices for configuring licensing servers, ensuring network connectivity, and validating CAL installation, administrators can maintain a stable and reliable Remote Desktop Services deployment for their users.
Have you encountered Event ID 44 in your RDS deployments? What are your experiences with it, and what other RDS licensing challenges have you successfully overcome? Share your insights and questions below to help foster a stronger community understanding of these critical systems!
Post a Comment