Why did our OpenEdge database crash on our Windows server? I saw something about a latch ...

Avoid these common pitfalls when connecting to OpenEdge databases on Windows servers. They can bring it down.

The number one cause of Windows db server crashes is users connecting via shared memory on the console and then having their session killed by logging out or being logged out.

This can also occur if someone exits another's RDP session so they can log in.  If the exited RDP session is connected to the db and running a process holding a latch, this scenario can bring down the database.

Another common cause is running scheduled tasks as a user that can log into the server. The task is running, the user logs in, then logs out, and the background task is “helpfully” killed by windows. You got that right. If a background task runs under an ID that a user can log in with, all tasks owned by that ID are killed when that user logs out. 

So, the #1 rule is ...

Create a distinct Windows user for scheduled tasks and do NOT allow anyone to log in remotely with that account. To deny a user or a group logon via RDP, explicitly set the "Deny logon through Remote Desktop Services" privilege.

To do this, access a group policy editor (either local to the server or from a OU) and set this privilege:

  1. Start > Run > Gpedit.msc if editing the local policy or choose the appropriate policy and edit it.
  2. Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment.
  3. Find and double-click "Deny logon through Remote Desktop Services".
  4. Add the user and/or group you would like to deny access to.
  5. Select ok.
  6. Either run gpupdate /force /target:computer or wait for the next policy refresh for this setting to take effect.