Run the Migration Prep Tool
Important
Only use this tool to migrate from Server version 2022.2 or earlier. The encryption mechanism was updated in the 2022.3 version.
Before You Begin
The Migration Prep Tool creates a staged copy of the workflow data stored in your database. During this process, the Migration Prep Tool will give you an estimate of the space required to proceed. Do not proceed unless you have sufficient space available.
Warning
You must manually verify that you have sufficient space available to complete this process. The Migration Prep Tool cannot verify the space available.
Step 1: Install the Migration Prep Tool
Download the installer from downloads.alteryx.com and run it.
Accept the EULA. Select Next.
To change the installation location, select Change. Or select Next to accept the default location.
Follow the prompts to complete the installation.
Step 2: Start the Migration Prep Tool
Open a Command Prompt or PowerShell.
Navigate to the chosen installation path (Default:
C:\Program Files\Alteryx Migration Tool\
).Run one of the commands to run the Migration Prep Tool. Note: If you use PowerShell, add
.\
to the start of each command. You can run this operation on any host that has access to the MongoDB server. You can safely run it multiple times without downtime.For multi-node setup, the IP Address/Hostname, Controller Token and NON_ADMIN_MONGO_PASSWORD should be of the machine where controller node is running according to the configuration done during the multi-node setup.
For single node, the details should be of the same machine where Alteryx Server is installed.
How to use the examples:
Replace these variables in the connection string with the values appropriate for your environment. These are the same credentials used to configure your Server database and can be found in Alteryx System Settings.
{authenticationDB} = the database that will authenticate the specified user credential.
If your Server is configured to use the embedded MongoDB, use the non-admin MongoDB password. In the connection string, your authSource should be ‘AlteryxService’.
For user-managed MongoDB, contact your MongoDB administrator to confirm the user credentials and authSource.
{port} = the service port MongoDB uses to provide access to the database.
{host.domain.tld} = the fully qualified domain name of your MongoDB server.
{password} = credential for the user.
{user} = username to access the database.
{atlasCluster.cloudProvider.mongodb.net} = the MongoDB Atlas cluster address.
Database | Example |
---|---|
Embedded MongoDB Note: NON_ADMIN_MONGO_PASSWORD',’CONTROLLER_TOKEN’ and 'localhost' should be changed based on your current setup. | Both App Chunk and RunAS_Credentials Migration AlteryxServiceMigrator22_2.exe -p -c "mongodb://user:NON_ADMIN_MONGO_PASSWORD@localhost:27018/AlteryxService?authSource=AlteryxService" -i <host/IP_Address> -t <Controller_Token> |
App Chunk Migration Only AlteryxServiceMigrator22_2.exe --appsonly -c "mongodb://user:NON_ADMIN_MONGO_PASSWORD@localhost:27018/AlteryxService?authSource=AlteryxService" -i <host/IP_Address> -t <Controller_Token> | |
RunAs_Credential Migration Only AlteryxServiceMigrator22_2.exe --credonly -c "mongodb://user:NON_ADMIN_MONGO_PASSWORD@localhost:27018/AlteryxService?authSource=AlteryxService" -i <host/IP_Address> -t <Controller_Token> | |
User-Managed MongoDB Note: ‘Password’, ‘port’, ‘host.domain.tld’ and ‘authenticationDB’ should be changed based on your current MongoDB instance. | Both App Chunk and RunAS_Credentials Migration AlteryxServiceMigrator22_2.exe -p -c "mongodb://user:password@{host.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> |
App Chunk Migration Only AlteryxServiceMigrator22_2.exe --appsonly -c "mongodb://user:password@{host.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> | |
RunAs_Credential Migration Only AlteryxServiceMigrator22_2.exe --credonly -c "mongodb://user:password@{host.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> | |
MongoDB Replica Sets | Both App Chunk and RunAS_Credentials Migration AlteryxServiceMigrator22_2.exe -p -c "mongodb://{user}:{password}@{host1.domain.tld}:{port},{host2.domain.tld}:{port},{host3.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> |
App Chunk Migration Only AlteryxServiceMigrator22_2.exe –-appsonly -c "mongodb://{user}:{password}@{host1.domain.tld}:{port},{host2.domain.tld}:{port},{host3.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> | |
RunAs_Credential Migration Only AlteryxServiceMigrator22_2.exe --credonly -c "mongodb://{user}:{password}@{host1.domain.tld}:{port},{host2.domain.tld}:{port},{host3.domain.tld}:{port}/AlteryxService?authSource={authenticationDB}" -i <host/IP_Address> -t <Controller_Token> | |
MongoDB Atlas | Both App Chunk and RunAS_Credentials Migration AlteryxServiceMigrator22_2.exe -p -c "mongodb+srv://{user}:{password}@{atlasCluster.cloudProvider.mongodb.net}/AlteryxService?retryWrites=true&w=majority" -i <host/IP_Address> -t <Controller_Token> |
App Chunk Migration Only AlteryxServiceMigrator22_2.exe –-appsonly -c "mongodb+srv://{user}:{password}@{atlasCluster.cloudProvider.mongodb.net}/AlteryxService?retryWrites=true&w=majority" -i <host/IP_Address> -t <Controller_Token> | |
RunAs_Credential Migration Only AlteryxServiceMigrator22_2.exe --credonly -c "mongodb+srv://{user}:{password}@{atlasCluster.cloudProvider.mongodb.net}/AlteryxService?retryWrites=true&w=majority" -i <host/IP_Address> -t <Controller_Token> |
-h [ --help ] display help info
-q [ --quiet ] output log messages to the command line (progress messages ignore this flag)
-s [ --severity ] arg (=7) console logging severity level (migration progress reports are sent at level 5)
-p [ --perform ] perform migration
--appsonly perform chunk migration only, with no preflight check
--credonly perform preflight check with no chunk migration
-u [ --forcenoprogressupdates ] disable progress update messages from being written to the console (they are still written to the log file)
-c [ --connection ] arg connection string (AlteryxService database must be specified)
-i [ --hostname ] arg HostName|ip Address of Controller
-t [ --controllertoken ] arg Controller Token to retrieve the Keys
-l [ --loggingpath ] arg (=C:\ProgramData\Alteryx) logging file path, must contain a %N for log rotation purposes
--loggingmaxfilesize arg (=64) maximum size in MB for a log file before it gets rotated
-d [ --stagingdirectory ] arg directory where decrypted workflows will be temporarily stored before getting re-encrypted
When the migration starts, it will prompt you to confirm you have made a backup of the database and your runtime settings file.
Once you confirm the backups, the utility checks the current space usage. It gives you an estimate of the additional space needed for the migration. You must check your system and continue only if you are sure that you have sufficient free space available to proceed.
After you have confirmed that there is sufficient space available, the utility begins migrating the workflow data. You will see console messages indicating the start time and completion time, along with progress messages.
Troubleshooting
If an error occurs during the migration, the error displays in the console and is also captured in the log file.
If you encounter an error, follow these steps:
Capture a screenshot of the command prompt.
Obscure or remove any sensitive data.
Capture the log (see validation steps for location and naming).
Run the migration again.
If the migration is unsuccessful again, contact Alteryx Support and include the screenshot and log file in your report.
Note
If the error Error during key initialization <Error importing keys to Microsoft\Crypto\RSA\MachineKeys\ directory in ProgramData: Access is denied. (5)> RunAS Migration failed
occurs while running the migration command, navigate to C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys. Then right-click on the MachineKeys folder and select Show more options > Give access to > Specific people. Select Everyone with Read/Write access. Then select Share.
Step 3: Upgrade to Server 2023.2
Important
Before you upgrade, make a backup copy of your Mongo database and the RuntimeSettings.xml. The encryption performed during the maintenance window is not reversible. The backup protects your installation from data loss or additional downtime.
The migration progress is not visible during the 2023.2 upgrade.
For more information about the upgrade, go to Install or Upgrade Server.
Download Server 2023.2 from downloads.alteryx.com.
Run the installer. Select Yes to continue the upgrade.
Accept the License Agreement.
Choose your installation path or accept the default path. Then select Next.
Select Install to start the installation (upgrade).
When installation is complete, select Configure Server Now, then select Finish.
After the installation of Server 2023.2 is complete, select the Begin Backup and Migration option.
After successful migration, select OK.
Note: After installation, there might be a delay in starting the service.
Alteryx System Settings opens. Navigate through System Settings to check that your settings are correct. Then select Finish and Done to start the service.
Once the service starts, Server enters maintenance mode to migrate RuntimeSettings and the database values that could not be migrated beforehand. During the maintenance mode, your Server instance will be unavailable.
The Migration Prep tool does a final check for database changes since the last run. Then it performs the migration (including any newfound changes) and moves the staged migration into use.
This final migration might take several hours. The time depends on the size of your configuration and if the Migration Prep Tool was run before the upgrade. Once this process is complete, Server will exit the maintenance mode and enter a functional state.
Troubleshooting
If the service shuts down after a period of time, check these logs for migration errors:
LastStartupError.txt
AlteryxServiceMigrator_#.log created by Migration Prep Tool
AlteryxServiceMigrator_#.log created during Service Start
If migration errors occur, attempt to restart the AlteryxService. This might resolve the issue as it will re-attempt any incomplete migration steps. If the problem persists, collect the logs and reach out to customer support for assistance. Depending on the errors, attempting to restart the AlteryxService might resolve the issue as it will re-attempt any incomplete migration steps.
Step 4: Validate Migration Success
To validate that the Migration Prep Tool was completed successfully, follow any of the following options.
Validate the Migration Prep Tool Log
Navigate to
C:\ProgramData\Alteryx\Service\
.Open AlteryxServiceMigrator_#.log.
Review the log for error or failure messages. Search for status 3 displayed as ';3;' in the log.
Validate the Service Start Log
Navigate to the logging folder set by Alteryx System Settings > Controller > General > Logging.
Open AlteryxServiceMigrator_#.log.
Review the log for error or failure messages. Search for status 3 displayed as ';3;' in the log.
Validation Post Upgrade to 2023.2 (After Final Migration)
Log into Server via the web URI.
Verify the following:
You can manually run workflows and apps.
Schedules are active and running with their expected results.
You can view, edit, create, and use workflow credentials.
You can view, edit, create, and use Server data connections.
Retrieve a workflow package from the API, import that package to Designer, and run the workflow in Designer.