Skip to main content
Call Eric:863-698-8266
CURRYCONTROLS.COMControls & Automation Knowledge Hub
ReferenceSCADATroubleshootingCybersecurityDocumentationDesign

Server Failure

How SCADA servers fail and what to do when one does: failure modes from a full disk to a dead hypervisor host, what the plant experiences with and without redundancy, the recovery sequence from restore to alarm verification, and the monitoring that warns.

9 min readUpdated Sep 5, 2026Published Sep 5, 2026By Eric Sullivan

The short answer

Server Failure

SCADA servers fail through hardware faults, operating system problems, application service crashes, expired licenses, full disks, memory exhaustion, network interface or switch faults, and failures of the virtualization host or storage under them, and the most common of these announce themselves for days in monitoring that nobody watched. With redundancy the standby takes over and the failure is a repair; without it the plant runs on local control while operators lose visibility, alarms, and notification. Recovery restores the server from an image or a backup, reactivates licenses, restarts services in order, reconnects clients, backfills the historian from remote buffers, and verifies alarm states and acknowledgments. A written recovery procedure with a target recovery time, a tested restore, and monitoring of disk, memory, services, and backups are what turn a failure into an inconvenience.

Key points

  • Full disks, expired licenses, and unpatched crashes cause more outages than dead hardware, and all three give warning.
  • Without redundancy the plant runs blind: local control continues, alarms and notification stop. Know which sites cannot tolerate that.
  • Recovery order: restore, license, services, clients, historian backfill, alarm state verification.
  • A restore that has never been tested is a hope, not a plan.
  • Monitor disk, memory, services, backup completion, license expiry, and time; alarm them like process alarms.
  • Write the recovery procedure with the recovery time objective, and keep it where it can be read with the server down.

How servers fail

FailureSymptomWarning availablePrevention
Disk fullServices stop, historian stops, database errors, logins failWeeks of disk usage trendDisk alarms; log rotation; retention limits; historian sizing
License expired or lostRuntime stops or goes to demo mode on a restart or at midnightExpiry date in the license recordLicense calendar; keys and activation files in the backup
Application service crashOne function stops: polling, alarms, history, clientsEvent logs, memory growth over daysPatching; service watchdogs; scheduled restarts where the vendor advises
Operating system fault or forced update rebootServer reboots or hangsUpdate settingsManaged patching; updates never automatic on a control server
Hardware: disk, power supply, memoryCrashes, errors in the hardware log, a dead serverHardware monitoring, RAID alertsRedundant disks and supplies; hardware alerts to the alarm system; lifecycle replacement
Network interface or switch portServer up, nothing can reach itLink errorsDual interfaces; switch monitoring
Hypervisor host or storageEvery virtual machine on it stopsHost alerts, storage alertsTwo hosts with the redundant pair split; storage redundancy
Database full or corruptAlarm journal and audit trail stop; the application may stopDatabase size trendRetention and purge jobs; database backups
Malware or intrusionAnything, including a ransom noteSecurity monitoringSegmentation, hardening, backups off the network

What the plant experiences

With a redundant pair, the standby becomes active, clients reconnect, and operators see a brief interruption; the failed server is repaired and resynchronized. The event is still investigated, because a pair with one dead member has no redundancy. With a single server, the controllers continue to run the process on their own logic, which is why local control is designed to need nothing from the server. What stops is visibility, alarming, notification, and history. A lift station that overflows during the outage does so silently; a chlorine feed that fails is not called out. The utility should know, in advance, which sites and processes cannot go unwatched for the length of a server recovery, and what the manual procedure is: an operator visiting sites, a local alarm dialer independent of the server, a second small system for the critical points.

Recovery

  1. 1

    Stabilize the plant

    Confirm local control is working at critical sites; dispatch someone to watch what cannot be seen. This comes before any server work.

  2. 2

    Diagnose

    Hardware alive? Operating system booting? Services running? Disk full? License valid? Network reachable? The failure table says what to look at; the event logs say what happened.

  3. 3

    Repair or restore

    A full disk is cleared and its cause fixed. A crashed service is restarted. A dead server is rebuilt from the image backup onto the spare hardware or a new virtual machine, or the application is reinstalled and the project restored from the application backup.

  4. 4

    License

    Reactivate or reinstall the license, which for many products is tied to the hardware or the virtual machine identity and needs the vendor. Keep the activation records with the backup.

  5. 5

    Services in order

    Database, then tag server and drivers, then alarm and historian, then client services. Confirm each is running and connected before the next.

  6. 6

    Clients

    Reconnect the operator stations and confirm the displays are live, with communication status good.

  7. 7

    Historian backfill

    Trigger or verify the backfill from remote controllers with buffers; note the gap for the record.

  8. 8

    Alarms

    Review the active alarm list against the plant: alarms that should be active but are not, acknowledgments lost, shelved and out-of-service states restored.

  9. 9

    Record

    What failed, when, how long, what was done, what was lost, and what will prevent it. The recovery procedure is updated from this.

The monitoring that gives warning

  • Disk free space on every volume, alarmed at a threshold weeks before full.
  • Memory and CPU trends; a service whose memory grows daily is a leak with a date.
  • Service status for every SCADA service, alarmed on stop.
  • Backup job completion and age of the last good backup.
  • License expiry date, with a reminder a month out.
  • Hardware and hypervisor alerts routed to the alarm system.
  • Time synchronization status.
  • Poll success rates and historian queue depth, which fall before a driver or collector dies.

Frequently asked questions

The server is fine but nobody can log in. Is that a server failure?
From the plant point of view, yes: visibility is lost. Common causes are a full disk, an authentication service or domain controller unreachable, an expired certificate, or a client license count exceeded. Check the disk first, then authentication; the server event log usually names it.
How long should recovery take?
As long as the recovery time objective the utility has decided it can tolerate, which depends on what runs unwatched. A few hours is achievable with a tested image restore and a spare virtual machine; days is what happens without them. Decide the objective, then buy and practice the recovery that meets it.
What is the minimum for a small utility with one server?
An image backup on a schedule kept off the server, the application project exported and kept with the license records, a spare machine or a hypervisor that can host a restore, a documented procedure, one practiced restore a year, and disk and service monitoring. That set costs little and covers most outages.
Should the alarm dialer depend on the SCADA server?
Not entirely. A dialer or notification system that takes its alarms only from the server stops when the server does. A hardware dialer at critical sites, wired to local alarm contacts, or a second small notification path that watches the server itself, is the layer that calls someone when the SCADA cannot.

Direct contact

Have a controls question?

Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.