Table of Contents

Quick Books Service Dies

Problem

Intuit Quickbooks runs a database server as a Windows Service. When it dies, it is not automatically restarted. When a user starts Quickbooks, it is fine; QuickBooks notices and restarts the service. However, if the user is not an administrator, it fails with the message THIS ACTION REQUIRES ADMINISTRATOR PERMISSIONS.

Fixes

There are several fixes available (one is to not use QuickBooks in anything but a workstation). One, which I'm scared to try is documented at https://community.spiceworks.com/topic/603605-quickbooks-occasionally-asks-for-windows-admin-permissions-for-dbmanagerexe-exe. I'm concerned how to recover if that doesn't work (since we don't know the QB user password).

Following appears to fix the problem, however.

Procedure

  1. Find correct name of the service for QuickBooks
    1. control panel | Administrative Tools | Services
    2. Look for something like QuickBooksDB27 (the number and/or may change based on version)
  2. Create a batch file with the following contents. replace ServiceName with the name you found (QuickBooksDB27 in the above example)
    fixQBServer.bat
    @ECHO OFF
    FOR /F "tokens=3 delims=: " %%H IN ('SC QUERY "ServiceName" ^| FINDSTR "        STATE"') DO (
      IF /I "%%H" NEQ "RUNNING" (
       NET START "ServiceName"
      )
    )
  3. Create a task to run this every hour
    1. Open Task Scheduler
      1. control panel | Administrative Tools | Task Scheduler
      2. Create a new task
        1. Action | Create Task
        2. Fill in the information
        3. General Tab
          1. Name: something, I call mine “CheckQBService”
          2. Description: Something to tell you what this does
          3. Run whether user is logged in or not
          4. Run with highest privileges
        4. Triggers Tab
          1. new
          2. Daily
          3. Repeat Task: every 1 hour
          4. Ok
        5. Actions Tab
          1. New
          2. Browse to the batch file you created
          3. Ok
        6. Settings Tab (skip Conditions)
          1. Run task as soon as possible after a scheduled start is missed
          2. Ok
        7. Ok

You can test by shutting down the service in question, then running the task (find task in Task Scheduler, right click, select Run). The service should now start (you will have to refresh the Service Manager)