> For the complete documentation index, see [llms.txt](https://help.security.gallagher.com/knowledge-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.security.gallagher.com/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-setting-up-command-centre-wi.md).

# Remote SQL setup

[Command Centre Databases (SQL)](broken://pages/cCfAltV0RyZ60G9YuhuO) › Setting up Command Centre with remote SQL

> 📋 **Prerequisites:** Read [Databases - Hosting the DB on SQL Clustered or Remote server](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-hosting-the-db-on-sql-cluste.md) first.

## This page answers

* What account must the Command Centre services run as against a remote SQL server?
* How do you prepare the remote SQL server?
* How do you install Command Centre against remote SQL, and what goes wrong if the account rights are missing?

When the Command Centre databases live on a separate SQL server, the Command Centre services must run as a **custom account** (for example `GGL_Service`), never `system` or `NT Network Service`.

***

## User accounts

* **Domain environment (straightforward):** Create a domain user to run the CC services, for example `GGL_Service`. Add it as a local admin on the CC server and give it sysadmin rights on the SQL server.
* **Workgroup environment (more difficult):** Create a local Windows account on **both** the CC server and the SQL server, with the **same name AND password** on both machines. Make it a local admin on the CC server and add it as sysadmin on the SQL server. This is not really a supported method; it is more of a workaround, but it does work for the Workgroup configuration.

### Required rights

**Running in a domain** (`GGL_Service` domain user):

* Local admin on the CC server
* sysadmin on the SQL server: sysadmin is only required for the CC install; it can be `db_owner` (dbo) thereafter

**Alternatively, under workgroups** (`GGL_Service` created locally on the CC server and SQL server, same password on both):

* Local admin on the CC server
* sysadmin on the SQL server: sysadmin only required for the CC install; can be dbo thereafter

***

## Preparing the remote SQL server

> **Important:** The SQL instance must be set up as per the **Gallagher release note** that comes with the version of Command Centre being used.

> **Important:** The instance must have **blank** Gallagher databases attached **BEFORE** the Command Centre install is attempted. Run the SQL queries on the Gallagher install media under `Utilities\Database scripts\` (easier to do on the SQL server).

> **Note:** Gallagher does not expect any other databases to be attached to the instance hosting Command Centre.

### 1. Enable remote connections (SSMS)

Enable remote connections using SSMS (they seem to be enabled by default).

![SSMS Server Properties Connections page with Allow remote connections enabled](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-bff12c90ded6ffccf3c12b1867ea9527fa2cf32f%2FSECHUB-CCS-SQL-SETUP-ssms-enable-remote.png?alt=media)

### 2. Enable TCP/IP (SQL Server Configuration Manager)

![SQL Server Configuration Manager with the TCP/IP protocol enabled for the Gallagher instance](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-34b1126d308c1932be1c9b42fe653a230f03bd78%2FSECHUB-CCS-SQL-SETUP-ssms-tcpip-enable.png?alt=media)

### 3. Enable the SQL Server Browser service (set to automatic)

![SQL Server Configuration Manager with the SQL Server Browser service set to Automatic](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-79d10bbf82d48c773d6dc37cca93e58a1ad71b64%2FSECHUB-CCS-SQL-SETUP-ssms-sql-browser.png?alt=media)

### 4. Add the CC service account as sysadmin

Add the CC service account (`GGL_Service`) as **sysadmin** on the SQL server. Sysadmin is only required for the initial CC installation and can be removed afterward.

![SSMS Login Properties Server Roles with sysadmin checked for GGL\_Service](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-cc95245517f11b73e36d165f55dd6a4c588961ac%2FSECHUB-CCS-SQL-SETUP-ssms-sysadmin.png?alt=media)

### 5. Confirm dbo rights after install

Following installation, ensure the CC service has **dbo (database owner)** rights on `CCFTCentral` and `CCFTEvents`.

![SSMS User Mapping showing db\_owner for CCFTCentral and CCFTEvents](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-2ac88fcd3c08453d304a3a8d3fc6b67b0ac7c64f%2FSECHUB-CCS-SQL-SETUP-ssms-dbo-rights.png?alt=media)

***

## Installing Command Centre against the remote SQL

On the Command Centre server, use one of these two approaches:

**Approach A** (logged in as any local admin):

* Run the CC installer as a different user (Shift + right-click `setup.exe`), running as `GGL_Service`.
* Change the CC service account to `GGL_Service` during the CC install.

**Approach B** (logged in as `GGL_Service`):

* Run the CC installer as admin.
* Change the CC service account to `GGL_Service` during the CC install.

### Post-install

After installation, the CC service must be manually changed to `GGL_Service` and the recovery code applied. Launch `CCFTRecoveryCode.exe` (in the Bin directory) via Shift + right-click **Run as different user** as `GGL_Service`. The services will start and Command Centre should work as normal.

***

## Fault finding

### GGL\_Service lacks sysadmin during install

If `GGL_Service` does not have sysadmin rights during the install, errors like these appear:

![Installation error caused by GGL\_Service lacking sysadmin rights (1 of 3)](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-4cc7dff0d70404d301fee5b2e3bf88ab91259363%2FSECHUB-CCS-SQL-SETUP-fault-sysadmin-1.png?alt=media)

![Installation error caused by GGL\_Service lacking sysadmin rights (2 of 3)](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-9b3656ff0d9752632dcb3b20511c82a0d98bd724%2FSECHUB-CCS-SQL-SETUP-fault-sysadmin-2.png?alt=media)

![Installation error caused by GGL\_Service lacking sysadmin rights (3 of 3)](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-dbc4475c8a57b58ab61637a8bcc2ce125466ec6d%2FSECHUB-CCS-SQL-SETUP-fault-sysadmin-3.png?alt=media)

### CC service account not changed during install

If the CC service account is not changed to `GGL_Service` during installation, the following error occurs:

***

🔗 **Related**

* [Databases - Hosting the DB on SQL Clustered or Remote server](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-hosting-the-db-on-sql-cluste.md). Standalone vs clustered and locating the databases.
* [Databases - Recovering from a Dead Server](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-recovering-from-a-dead-serve.md). Rebuilding a site after a server failure.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.security.gallagher.com/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-setting-up-command-centre-wi.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
