How do I Update a Nodinite Log Database?
Keep your Nodinite Log Databases secure, compliant, and up to date with the latest features and performance improvements. In Nodinite v7, updating is a two-part job:
| Part | What is updated | How |
|---|---|---|
| 1. Core Services | The Core Services and the Configuration Database | The CLI package from the Nodinite Portal; see Updating Nodinite v7 |
| 2. Log Databases | The schema of the online and archive Log Databases | The Update Guide in the Web Client, see Update Log Database (Nodinite 7.2.0 and later) |
Important
After every Core Services update, open Administration › Settings › Log Databases in the Web Client. When the page reports that a schema update is available, run the Update Log Database guide.
Why Log Databases Are Updated Separately
The CLI doesn't update Log Databases, because a schema update of large or many databases needs planning:
- Disk space – schema updates and index rebuilds need free space for data and transaction log growth.
- Long processing times – an update can take minutes to hours per database, depending on size and disk I/O.
- System resources – updates consume CPU, memory, and disk I/O; run them in a maintenance window.
- Distributed environments – archive Log Databases may live on other SQL Server instances, networks, and security zones.
The Update Log Database guide stops the Logging Service and Monitoring Service, sets archive databases read-only, generates one SqlPackage.exe script for the online Log Database and one for the archives, and walks you through running them and restarting the services.
System Parameters to Review Before You Update
| System Parameter | Why it matters for the update |
|---|---|
| LogDatabaseRecovery | The generated scripts use this recovery model (SIMPLE or FULL). On an Always On Availability Group it must be FULL. Set it before you generate the scripts. |
| SqlPackageExecutable | The path to SqlPackage.exe in the generated scripts. Use the latest DacFx version. |
| SqlPackageParams | The connection encryption and certificate-trust options the Logging Service uses for new Log Databases; the generated scripts contain the same kind of options. |
| LogLocations | File placement of Log Databases; make sure the folders still exist and have free space. |
| DatabaseMaintenance | Reindexes and shrinks archive Log Databases after the update, which reclaims disk space. |
The SqlPackage.exe path used by the CLI for the Configuration Database is set separately in the Portal, Step 3: Infrastructure.
Frequently Asked Questions
Find more answers in the Nodinite Log Databases Troubleshooting guide.
Which account runs the update scripts?
Run the scripts as the Logging Service account; that also verifies the account still has the rights it needs to create new Log Databases. Otherwise use an account in the SQL Server sysadmin role on every instance that hosts a Log Database. If your DBA policy doesn't allow permanent sysadmin, follow SQL Server Sysadmin Requirements.
Why does my update script fail?
The Update Log Database guide lists common errors and solutions. Also check:
- SqlPackage not installed or outdated – install the latest Microsoft SqlPackage on the server that runs the script.
- Wrong paths – the
SqlPackage.exeand.dacpacpaths in the script must exist on the server that runs it; adjust them when you run the script on another server. - Disk space – free space for schema changes, index rebuilds, and transaction log growth.
- Recovery model mismatch – set LogDatabaseRecovery to the model your SQL Server uses before you generate the scripts.
- Always On Availability Groups – see Always On Availability Groups and the AOAG scenario in the Update Log Database guide.
Warning
Always test update scripts in a non-production environment first, and back up all databases before you run them.
How do I free disk space taken by old Log Databases?
Nodinite doesn't remove old Log Databases automatically. To clean up historical databases, use Automating removal of old Log Databases.
Note
Nodinite v6 is no longer supported. To move an existing v6 installation, follow Updating from v6 to v7.