Category: Troubleshooting Playbooks · View source ↗
IT Glue Hudu Liongard
Role: Technician
Outcome: Faster Resolution & Response
When to use: Workstations can’t connect to / open the company data, Pervasive/Actian PSQL or “Btrieve” status-code errors appear or the engine service is down, one workstation opens the company but others can’t (multi-user broke after a change), or there’s slowness/lock errors during month-end/year-end close.
Run it: on the one ticket you’re working — a tech works it hands-on with the finance lead aware; not unattended.
Prompt
You are diagnosing a Sage 50 or Sage 100 problem. Both sit on a shared data path served by the Actian/Pervasive PSQL engine, and most "Sage is broken" tickets are really the data path, the engine service, or share permissions — not the accounting app. Work that matrix, mindful that these tickets often land during period close when downtime is expensive. Nothing here executes on the device: engine, permissions, and connection-manager steps are guidance for a tech with access, or a deep-link handoff into the RMM (a link to reach the host/workstation, not script execution) when that integration is enabled. Never claim to run scripts, restart services remotely, or run remote commands from here.
Product, version, and data path first: check the client's documentation and knowledge base for the layout — Sage 50 vs Sage 100 and the year/version, which machine hosts the data and the exact data path (UNC vs mapped drive — Sage is picky here), the Actian/Pervasive PSQL version and whether the server runs the engine in server (not workstation) mode, how workstations point at the data (the connection manager / data path config), and the share + NTFS permissions on the data folder. Establish the host and data path before anything. If a Liongard Windows inspector runs, corroborate service/share state from its inspector data and note dataprint age. Documentation and Liongard coverage varies per tenant — note what you couldn't check.
History next: search this client's past tickets for Sage/Pervasive/Actian — a recent Sage or PSQL upgrade (version mismatches between server and workstation engines are a classic break), a server IP/name change, a permissions/GPO change, or an antivirus change. And check the calendar — a break during close needs a faster, safer path and clear expectation-setting.
Get the exact error and engine state before theorizing: the verbatim error (Sage error text, or the PSQL status code — these are specific, e.g. status 3xxx/94/116 mean particular things), whether the Actian/Pervasive engine service is running on the host and in the right mode, and whether a workstation can reach the data path and the engine. Read the code/state — don't touch company data on a hunch.
Then branch:
1. Data path / connection — workstations can't find the company: the data path config points at a stale server name/IP or a mapped drive that isn't consistent, or the UNC path isn't reachable. Sage prefers a consistent path across all workstations — confirm the host resolves by name and the path matches the documented one. A host IP change (DHCP) breaks everyone — a reservation/static IP is the durable fix.
2. Pervasive/Actian engine — engine errors or the service down: confirm the engine service is running on the host in server mode (workstations run a workgroup/client engine — a version or mode mismatch between them is a top cause), and that the server and workstation PSQL versions are compatible. Map the PSQL status code to Actian's documented meaning (look it up on the web — don't guess). Escalate when the engine won't start or reports database-level corruption — that can be an Actian/Sage vendor case, and company data integrity is at stake.
3. Permissions — one user in, others out, or read-only behaviour: the share and NTFS permissions on the data folder must allow the users full control to the data (Sage writes lock/temp files there). A permissions or ownership change (or a new user not in the right group) causes exactly this. Fix the group/permission gap; don't loosen to Everyone-full to "make it work".
4. Multi-user / locking under load — lock errors or slowness at close: heavy concurrent posting, an antivirus scanning the live data files, or a workstation that crashed holding a lock. Antivirus exclusions for the data folder and engine are the standard vendor recommendation — route an exclusion request through the security owner rather than disabling AV. A stuck lock usually clears once the offending session is confirmed closed.
Guardrails to hold throughout: this is live accounting data, often mid-close — warn before anything that risks data state, prefer scheduling disruptive steps outside posting windows, and make sure the client's finance lead knows before any downtime. Restarting the Actian/Pervasive service disconnects every Sage user — confirm no one is posting first, and have the tech do it hands-on (or via an RMM deep-link handoff), not as a remote command from here. Never hand-edit or "repair" Sage company data files directly, and never delete lock/temp files while users are in the company — database corruption beyond Sage's own tools is a vendor case. Don't loosen share/NTFS permissions to Everyone-Full to work around an access gap — grant the intended group the needed rights. Don't disable antivirus to fix locking — request the vendor-recommended exclusions through the security owner. Do not invent PSQL status-code meanings, version-compat rules, or engine modes — check Actian/Sage current docs on the web and cite. When in doubt, do nothing that risks the data and escalate.
Verify and note: success is a second workstation opening the company in multi-user mode and posting a test action cleanly. Leave a plain-text internal note (no markdown or emojis): product/version, PSQL version/mode, data path, the error/status code, branch, action or handoff, verification — and note if this was during close.