Moving a computing environment from on-premises data centers to public cloud providers has become a fairly standard activity for many database teams. The move may be done to address a wide range of business requirements. In most cases, organizations choose to migrate systems to the cloud to take advantage of potential cost savings and simplified scalability. With a cloud vendor, adding or reducing resources like storage and network bandwidth can be done easily, allowing environments to grow unimpeded by capacity considerations.
Major public cloud providers have developed specific solutions to facilitate migrating popular applications to their data centers. These include alternatives for re-hosting SQL Server databases. As the developer of the popular database platform, Microsoft offers multiple methods with which to eliminate on-premises SQL Server instances in favor of cloud solutions. Google and Amazon also offer options that enable you to move your SQL Servers to their clouds.
Planning and Performing a SQL Server Migration
Once the decision to perform a SQL Server migration to the cloud has been made, several steps need to be taken to ensure its success. Inadequate planning before starting is a major reason for failed migrations. The same can be said for incomplete testing after the move has been made.
Here is a high-level overview of the basic steps that go into a successful SQL Server migration.
Choose a migration method
The choice of an online or offline migration depends on the length of the system outage that the organization can tolerate. Offline migrations are simpler but require more downtime. Systems are unavailable while the migration is being performed. In an online migration, downtime is limited to the time necessary to perform system cutover after the process is complete.
Another decision that needs to be made is how the servers will be hosted in the cloud. You may decide to simply virtualize your on-premises instances using your provider’s hardware. Another option is to make use of the managed cloud SQL database solutions offered by major vendors.
Discover and assess SQL Server assets
After deciding what migration method will be used, the current SQL Server environment needs to be inventoried and optimized for the move. You should be able to identify the SQL Server versions and features being used on each instance. This might be a good point at which to take a hard look at the collected instances and perform some consolidation to reduce server sprawl.
Each instance needs to be evaluated to uncover any issues that could affect migration. You may be able to use tools offered by your provider to assist with the migration. An example is Microsoft’s Data Migration Assistant that helps identify compatibility problems that can impact your systems in their new environment. Vendor-specific tools can be very helpful in supplementing your in-house resources during migrations.
Perform the migration
The specific activities performed during the migration depend on the method chosen and the systems being moved. You should again make use of the software tools available from your provider designed to facilitate the migration. Make sure to monitor the migration for potential issues and maintain security throughout the operation.
Test the new environment
Testing the availability and functionality of the new environment is essential before verifying its success. Ideally, testing should be performed while the migration team is still engaged so any issues can quickly be resolved. One basic test that can easily be performed is to inventory the new environment with the same tool used when planning the move.
Comprehensive testing should be done before cutting over when performing an online migration. Issues may cause the cutover to be delayed until they can be addressed. The ability to delay cutover and the shutdown of existing systems is a significant benefit of choosing an online migration approach. In extreme cases, the migration may need to be postponed until all problems are worked out.
Keeping Track of Your SQL Servers Wherever They Are
SQL Inventory Manager is a valuable tool for teams supporting SQL Server environments. It can be especially useful when planning, executing, and verifying a SQL Server migration. The application also helps manage enterprise SQL Server environments wherever they are hosted. It allows you to monitor and manage hybrid environments with a single solution.
Migrating large SQL Server environments is usually done in a staged manner, with only a subset of machines moving at a time. SQL Inventory Manager lets you track your SQL Server inventory before, during, and after migration to ensure that plans are on track. Features such as the ability to tag and annotate servers make it easy to categorize them for more efficient management. You can drill down into inventoried servers to see details about configuration, databases, and operating systems.
Conducting a SQL Server inventory can also help address server sprawl and ensure that license agreements are being met. As a supplemental tool to assist with cloud migration, SQL Inventory Manager will help your team make sure that everything destined for the cloud makes it there and prevent instances from getting lost along the way.