Option One
Use RAZL by Sitecore which allows you to automate the deployment and synchronization of Sitecore items and databases between different environments. It's commonly used for tasks such as content deployment and database synchronization. Here's how you can use RAZL to migrate Sitecore databases:
Install RAZL:
Configure RAZL:
- Open RAZL and configure the source and target connections. You will need to provide connection details for both the source and target Sitecore instances. These details include the Sitecore URL, username, and password for each environment.
Database Migration:
RAZL provides features for database comparisons and synchronization. To migrate Sitecore databases using RAZL, follow these steps:
a. Compare Databases:
- Use RAZL to compare the databases of the source and target environments. RAZL will show you the differences between the databases.
b. Select Items to Migrate:
- Review the comparison results and select the items you want to migrate from the source to the target environment.
c. Synchronize Databases:
- Once you've selected the items to migrate, use RAZL to synchronize the databases. RAZL will perform the necessary updates to bring the target database in sync with the source database.
Content Deployment (Optional):
- RAZL can also be used for content deployment between Sitecore instances. You can use it to compare and synchronize content items, templates, layouts, media, and other Sitecore items.
Verify and Test:
- After the migration or deployment is complete, thoroughly test the target environment to ensure that the content and data have been migrated accurately.
Documentation:
- Document the migration process, including the steps you took, any configurations you updated, and any issues you encountered and resolved.
Please note that RAZL is a powerful and paid tool, but it does require careful configuration and understanding of the Sitecore environment. Always make sure to perform migrations in a controlled environment and have proper backups in place before making any changes.
Option Two
Migrating Sitecore databases between environments, especially when they are in different Azure subscriptions, can be a complex task. It's important to ensure data integrity and maintain security during the migration process. Here's a general approach you can consider for migrating your Sitecore 9.3 databases to the new Azure subscription:
Backup and Restore Strategy:
Backup Old Databases: Create backups of your old Sitecore 9.3 databases from the source Azure subscription. You can use tools like SQL Server Management Studio (SSMS) or Azure SQL Database export functionality.
Copy Backups to New Subscription: Transfer the backup files from the old subscription to the new subscription using appropriate Azure storage services.
Restore Databases: In the new subscription, restore the backup files onto the new SQL Server instances.
Database Connection Strings:
- Update the connection strings in your new Sitecore environment to point to the restored databases in the new subscription.
Security and Users:
Database Users: If you're facing security issues when restoring and renaming databases, make sure that the necessary database users are correctly associated with the restored databases. You might need to recreate or update users to ensure proper access.
Azure Active Directory (AAD): Azure AD-based authentication can simplify user management. If possible, consider using Azure AD identities for accessing the databases, as this can help in managing access more seamlessly.
Sitecore Configuration Updates:
- After the databases are successfully restored and the connection strings are updated, review and update any Sitecore configurations that might be pointing to the old databases. This could include configuration files or settings within the Sitecore CMS.
Testing and Verification:
- Thoroughly test your new Sitecore environment to ensure that the restored databases are functioning as expected. Check content, analytics, and other critical features.
Content Synchronization:
- If there's ongoing content creation on the old environment during the migration process, you might need to perform a final content synchronization to ensure the latest content is migrated.
Rollback Plan:
- Always have a rollback plan in case anything goes wrong during the migration. This might involve ensuring that you have proper backups and a way to revert to the old environment if necessary.
Consult Experts:
- Migrating databases can be complex, and any misstep can lead to data loss or corruption. If you're not familiar with database management and migrations, consider consulting with Sitecore experts or Azure specialists who can guide you through the process.
Remember that each Sitecore installation might have unique configurations and requirements, so tailor this general approach to your specific setup. It's also recommended to thoroughly test the migration process in a non-production environment before attempting it in your live production environment.
Hope one approach will help you. My recommendation is Razl.