Configuration Changes
Information about the whereabouts of the Configuration Database and Logging Databases now needs to be updated to the Nodinite services and Web applications.
To avoid performing the following steps, please re-use the SQL Server cluster and/or listener names. If you are using stand-alone SQL Server instances, and not re-using the old Server name, the new name must be specified accordingly.
Note
Starting with Nodinite 7, all configuration is consolidated in
appSettings.json. Nodinite 6 uses individual.configfiles andSettings.jsonfor agents. Choose the appropriate section below for your version.
Configuration Overview
| Core Service | Nodinite 7 | Nodinite 6 | Restart Required |
|---|---|---|---|
| Logging Service | appSettings.json |
Nodinite.Service.LoggingServiceHost.exe.config |
Yes |
| Monitoring Service | appSettings.json |
Nodinite.Service.MonitoringServiceHost.exe.config |
Yes |
| Web API | appSettings.json |
web.config |
Automatic |
| Log API | appSettings.json |
web.config |
Automatic |
| Install and Update Tool | N/A (not applicable) | settings.json |
Restart App Pool |
| Pickup Service | appSettings.json |
Settings.json |
Yes |
| Monitoring Agent | appSettings.json |
Settings.json |
Yes |
Logging Service Connection String
Nodinite 7: Logging Service - appSettings.json
Locate the appSettings.json file for the Logging Service
C:\Program Files\Nodinite\Nodinite Core Services\Logging Service\appSettings.json
Replace the unencrypted connection string in the ConnectionStrings section. On startup, the system will automatically protect it using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"NodiniteConfig": "Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
After restart, the connection string will be automatically encrypted using a certificate stored in the Windows Certificate Store:
{
"ConnectionStrings": {
"NodiniteConfig": "PROTECTED_1.WindowsCertificateStore.49668D35CB1998EE77BAC23BC03AB216A60BC435.AES256-RSA-OAEP.DAAAAIyeM8nFLdKAv+ccvwABAABHndXWuyuHO0ig9mkeitKg9DrGDW0seFJZ5EzN56xVXmzf96+tTTChrSXZOFOJUfqj6ssrjsKNALfW/r8M/4PQ3U6vMqg5oGSy3Cc0o9Gw5e/zAE2NeQe3KIBN/trSJnx+VCQjZVLr5F5oMuHkyCi1EHWQf4I9ZA3PyirInaJYPJ2IXY3Ql49vfu3PeCP8l1dnobFgLODbysmsjXb3MtMuqqWd2NJ5VsOP2iCAyOrZepfOAkM3BE0y6khWWQzdcNCJXl3XDQQbzD34JWJjA87g8pXaw3Q3ra+i8HYgF0EI3jAhaoT5eR95O98zIu30ZIZwLS0K7xZQ+Q6/ZwINiRZ3EAAAAKo1DSTET2uIS1AG0i9lpPvGHOKYml91DgazU05Wg5rhHt3WYE5jqt0HF3TGw81vWztnI9wvTmWJjBvk+T7i6aKbjzyNvm0uJb+ccrYYc9y7zVOxGeGknOsZ68qPWy08u+s2AgSTXbCvHOpCi7To5rITCXNggyAf788ZEo2cFbQsImrcdaKd1Gjc8M61"
}
}
Nodinite 6: Logging Service - exe.config
Locate the .config file for the Logging Service
C:\Program Files\Nodinite\%ENVIRONMENT%\Nodinite Core Services\Logging Service\Nodinite.Service.LoggingServiceHost.exe.config
Replace the connection string with the unencrypted value:
...
<connectionStrings>
<add name="NodiniteConfigDatabase" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Note: After saving and restart, Nodinite will automatically encrypt this connection string using the Windows Data Protection API (DPAPI).
Monitoring Service Connection String
Nodinite 7: Monitoring Service - appSettings.json
Locate the appSettings.json file for the Monitoring Service
C:\Program Files\Nodinite\Nodinite Core Services\Monitoring Service\appSettings.json
Replace the unencrypted connection string using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"NodiniteConfig": "Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
Nodinite 6: Monitoring Service - exe.config
Locate the .config file for the Monitoring Service
C:\Program Files\Nodinite\%ENVIRONMENT%\Nodinite Core Services\Monitoring Service\Nodinite.Service.MonitoringServiceHost.exe.config
Replace the connection string with the unencrypted value:
...
<connectionStrings>
<add name="NodiniteConfigDatabase" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Note: After restart, the connection string will be automatically encrypted using Windows Data Protection API (DPAPI).
Web API Connection String
Nodinite 7: Web API - appSettings.json
Locate the appSettings.json file for the Web API
C:\Program Files\Nodinite\Nodinite Core Services\Web API\appSettings.json
Replace the unencrypted connection string using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"NodiniteConfig": "Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
Nodinite 6: Web API - web.config
Locate the web.config file for the Web API
C:\Program Files\Nodinite\%ENVIRONMENT%\Nodinite Core Services\WebAPI\web.config
...
<connectionStrings>
<add name="NodiniteConfigDatabase" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Log API Connection String
Nodinite 7: Log API - appSettings.json
Locate the appSettings.json file for the Log API
C:\Program Files\Nodinite\Nodinite Core Services\Log API\appSettings.json
Replace the unencrypted connection string using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"NodiniteConfig": "Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
Nodinite 6: Log API - web.config
Locate the web.config file for the Log API
C:\Program Files\Nodinite\%ENVIRONMENT%\Nodinite Core Services\LogAPI\web.config
...
<connectionStrings>
<add name="NodiniteConfigDatabase" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Install and Update Tool Connection String
Nodinite 7: Install and Update Tool - Not applicable
In Nodinite 7, the Install and Update Tool is no longer in use. Configuration is managed via appSettings.json in each Core Service.
Nodinite 6: Install and Update Tool - settings.json
Locate the settings.json file for the Install and Update Tool
C:\Program Files\Nodinite\Nodinite Update\UpdateClient\App_Data\settings.json
Change the Server (NOTE: this may include the named instance name) and Name values accordingly:
...
"Installations": [
{
"Environment": "Dev",
"LastVersion": "5.0.0.75",
"DatabaseInstallation": {
"ServiceAddress": "http://localhost:8000/Nodinite/Service/Update/",
"AccountName": ".\\NodiniteService",
"Database": {
"Server": "NEW_SERVER",
"Name": "NodiniteConfig_Dev"
}
},
...
Important
After changing the connection string, you must restart the IIS Application Pool for the Install and Update Tool to pick up the new settings.
Log Database Information
This step applies to both Nodinite 6 and 7.
This script creates another TSQL script. Use it to change the SQL Server Database instance name for selected Log Databases in the LogTables table in the Configuration Database (name like the @prefix variable).
Change the
@prefix,@oldServerNameand@newServerNameparameters as appropriate and run from the Configuration Database database in SSMS.
DECLARE @sql NVARCHAR(max) =''
DECLARE @prefix NVARCHAR(255) = 'NodiniteLog_Dev_'
DECLARE @oldServerName NVARCHAR(255) = 'localhost'
DECLARE @newServerName NVARCHAR(255) = 'MYOTHERSQLDATABASE[\InstanceName]'
DECLARE @length INT
SET @length = LEN(@prefix)
;WITH nodinitelogdatabases ([Database]) as
(SELECT [Database] From LogTables Where [Database] Like (@prefix + '%'))
Select @sql += 'UPDATE LogTables SET [Server] = ''' + @newServerName + ''', [HOST] = ''' + @newServerName + '''' + ' WHERE [Database] = ''' + l.[Database] + '''' + ' AND [Server] = ''' + @oldServerName + '''' + CHAR(13)+CHAR(10)
FROM nodinitelogdatabases l
ORDER BY [Database]
Print @@Rowcount
Print @sql
This script creates another script that you can use to update the Server column in the LogTables table in the Configuration Database.
Important
If you are running SQL Server in the cloud (SQL Server Managed Instance) and you are moving to another managed instance, you must update the ´HOST´column accordingly.
Pickup Service Connection String
Nodinite 7: Pickup Service - appSettings.json
Locate the appSettings.json file for the Nodinite Pickup Log Events Service Logging Agent
C:\Program Files\Nodinite\Logging Agent - Pickup Service\appSettings.json
Replace the unencrypted connection string using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"ConfigurationDatabase": "Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
Nodinite 6: Pickup Service - Settings.json
Locate the Settings.json file for the Nodinite Pickup Log Events Service Logging Agent
C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json
...
<connectionStrings>
<add name="ConfigurationDatabaseConnectionString" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Monitoring Agent Databases
If you are also moving the Nodinite Monitoring Databases, update the connection string as follows:
Nodinite 7: Monitoring Agent - appSettings.json
Locate the appSettings.json file for the Monitoring Agent
C:\Program Files\Nodinite\Monitoring Agent\appSettings.json
Replace the unencrypted connection string using certificate-based encryption (see Secret Management for details):
{
"ConnectionStrings": {
"MonitoringDatabase": "Data Source=NEW_SERVER;Initial Catalog=NodiniteMonitoring_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True"
}
}
Nodinite 6: Monitoring Agent - Settings.json
Locate the Settings.json file for the Monitoring Agent
C:\Program Files\Nodinite\Monitoring Agent\Settings.json
Replace the connection string:
...
<connectionStrings>
<add name="MonitoringDatabaseConnectionString" connectionString="Data Source=NEW_SERVER;Initial Catalog=NodiniteMonitoring_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=True" />
</connectionStrings>
...
Next Step
Configuration updated? Continue with:
- Validation and DACPAC Registration - Test and register databases
Related Topics
- Database Migration Overview - Hub page and decision tree
- Planning - Pre-flight checklist
- Local Disk Move - For same SQL instance
- Remote SQL Instance Move - For different SQL instance
- Post-Migration Steps - Cleanup and optimization