> 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-considerations.md).

# Database considerations

Plan compatible SQL upgrades and apply service packs on default Command Centre installations.

Plan the SQL version path alongside every multi-release Command Centre upgrade. Check the [Command Centre Compatibility Matrix](/knowledge-hub/products/cc-software/reference/command-centre-compatibility-matrix.md) before selecting each Command Centre and SQL version.

{% hint style="info" %}
Use the SQLUpgrade utility to apply SQL service packs on default Command Centre installations.
{% endhint %}

***

## Worked example: upgrading 5.21 (Windows XP) to 8.30 (Windows 10)

* Upgrade the Windows XP machine to **6.10** first; that upgrade handles its own SQL instance, so no separate SQL work is needed at this step.
* Installing **7.20** (likely on a Windows 7 / 8.1 machine) installs **SQL 2012 SP1**. Attaching the 6.10 database/backup is straightforward.
* Before upgrading to **7.70**, check its minimum supported SQL. For SQL 2012 that is **Service Pack 2**, but because the goal is **8.10** on this machine, upgrade the SQL instance to **Service Pack 3** (the minimum 8.10 supports) instead.
* 7.20 installs the **32-bit (Express)** version of SQL 2012 (assuming SQL was not manually installed), so download the **32-bit (x86)** service pack from Microsoft.

> **Note:** To ensure data integrity, always back up the databases before upgrading Command Centre or upgrading the SQL instance.

***

## The SQLUpgrade utility (default-install SQL service packs)

On a default install, a SQL service pack cannot be run on its own because the SQL instance is restricted to an account you are unlikely to have access to. Gallagher includes a utility that grants access to the instance so it can be upgraded. It is on the install media of all Command Centre versions **8.20 and lower**, in one of:

```
Setup\SQLInstallSQLUpgrade\SQLUpgrade.exe
SQLInstallSQLUpgrade\SQLUpgrade.exe
```

> **Remember:** SQL has its own upgrade path, which you may want to verify first: [Microsoft SQL Server upgrade documentation](https://learn.microsoft.com/en-us/sql/database-engine/install-windows/upgrade-sql-server?view=sql-server-ver16)

Procedure: place the service pack in a folder you create (preferably just off the root directory) and put the tool there too. Run the tool as administrator, browse to the Service Pack, and press the upgrade button. The utility also shows the current SQL version and service pack.

![SQLUpgrade.exe utility showing current SQL version and a browse button for the Service Pack](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-600609f23d7ba7aa95cb3278ad52cd2710be0046%2FSECHUB-CCS-SQL-CONSIDERATIONS-upgrade-tool.png?alt=media)

When the Upgrade button is pressed, the utility runs the SQL service pack as a user with the privileges to update the instance. At the **Select Features** screen, ensure the SQL instance is checked and available to upgrade; if that option is not present, the instance will not be upgraded.

![SQL installer Select Features screen with the Gallagher instance checked for upgrade](https://328339335-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6bM8WhlBE9BYizPWJaPN%2Fuploads%2Fgit-blob-aab1c2de8d1741535f11034fa9315ffb8ac7a3c3%2FSECHUB-CCS-SQL-CONSIDERATIONS-select-features.png?alt=media)

Allow the upgrade to complete, start the Command Centre services, log in, and confirm everything works. The same process works for a normal upgrade between SQL versions. For the dedicated Express-to-Standard edition upgrades, see [Databases - Upgrading SQL Express to SQL Standard](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-upgrading-sql-express-to-sql.md).

### Helpful resource

To download SQL service packs (routes to Microsoft): [sqlserverbuilds.blogspot.com](https://sqlserverbuilds.blogspot.com/)

***

🔗 **Related**

* [Databases - Upgrading SQL Express to SQL Standard](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-upgrading-sql-express-to-sql.md). The edition-upgrade path.
* [Databases - SQL Collation](/knowledge-hub/products/cc-software/configure/databases-an-overview-of-command-centr/databases-sql-collation.md). What the upgrade does to a custom collation.
* [Databases - Sizes and Examples](/knowledge-hub/products/cc-software/reference/databases-sizes-and-examples.md). Why an upgrade can temporarily grow the event database.


---

# 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-considerations.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.
