对于传统上不得不采用昂贵且通常相对不灵活的现场数据库解决方案的许多组织而言,越来越多地采用数据库即服务 (DBaaS) 提供商是一个受欢迎的替代方案,因为 DBaaS 提供了一个灵活的、基于云的数据库选项通过订阅服务。
在 DBaaS 平台中,Microsoft Azure ® SQL 数据库已成为希望转向订阅模式的组织的首选,这可能是因为 Azure 的解决方案是最具成本效益的解决方案之一,同时提供可靠的安全性和灾难恢复。
仍然阻碍许多企业发展的主要因素之一是 Azure 数据库迁移,对于担心成功云迁移所需的成本和时间承诺的组织来说,这可能具有挑战性。但是,Azure 数据库迁移并不一定令人生畏。以下提示可以帮助您取得成功。请记住,您可以使用SolarWinds® SQL Sentry® 、 SolarWinds Database Performance Analyzer (DPA) 或SolarWinds Database Performance Monitor ( DPM )等自动化工具来简化流程。
数据库迁移的主要技巧
以下是将 SQL Server ®数据库移动到 Azure 时的一些数据库迁移技巧。
了解挑战
云迁移过程从验证云系统是否适合您的业务开始。了解云迁移的陷阱和潜在的不便可以显着减少迁移过程中的痛点。首先,组织需要充分意识到所有迁移都伴随着一定程度的停机时间——或者是在组织将所有系统切换到云端时一次性全部停止,或者是分阶段进行。如果在团队位于本地时将组织的所有数据都复制到云中,则可以最大程度地减少停机时间。
准确了解新云系统的功能与本地系统的功能有何不同也很重要。创建基于云的代码来解决这些差异对于将本地数据传输到云系统可能是必要的。要了解云系统及其与本地系统的差异,请与新的云提供商合作,全面了解在迁移过程中可能需要考虑的差异。
制定一个计划
为了进一步协助规划 Azure 数据库迁移,深入了解您的主要数据系统将有助于制定详细的迁移计划。以下是在发现过程中要牢记的一些基本事项:
- 迁移目标从中使用数据的系统
- 迁移目标为其生成数据的系统
- 软件组件的当前版本
- 资源利用率(例如,CPU、存储、内存)
- 性能基准
- 示例工作负载
- 恢复点目标 (RPO) 和恢复时间目标 (RTO)
- 应用所有者
自动化工具,例如监控或文档软件,可以帮助团队收集这些信息。然而,其中一些关键信息还需要 IT 专业人员参与业务领导的知识。这种合作带来的额外好处是确保高管支持迁移。获得这种支持是迁移过程中必不可少的一步,因为这意味着领导者完全了解该过程并可以采取措施支持 Azure 数据库迁移。
清理
当组织不带额外包袱时,Azure 数据库迁移会容易得多。对数据进行分类以剔除未使用的数据源最终可以节省时间并减少以后需要整理的混乱数量——在迁移到云之前,剔除占用宝贵空间的数据,不会为您的组织提供任何可辨别的价值。从一个组织良好的云开始,没有多余的数据,可以降低成本,同时节省存储空间,并且可能意味着您的系统将运行得更快。
构建数据字典
清理数据只是从健康、组织良好的云开始的一部分。SentryOne 的 Kevin Kline 建议在开始 Azure 数据库迁移之前构建一个可靠的数据字典。根据他的指导,迁移是寻找 SQL 代码或系统设计中“明显问题”的好时机:“例如,您可能有存储过程导致大量隐式转换,因为存储过程使用不兼容的数据类型与数据库表中定义的类型进行比较。查看这些类型的问题有助于建立一个好的数据字典。”
要在迁移前对数据库进行排序时构建数据字典,请记下每个关键系统文档,以便在迁移后对它们进行说明。虽然这个过程很耗时,但它是确保新系统功能齐全并具备您业务所需的一切的必要步骤。
一个好的数据字典从仔细的数据沿袭跟踪开始,包括记录数据已经通过的每个步骤,从开始到 ETL 过程,并且可能包括关于生产数据库或数据仓库的注释。数据沿袭文档可帮助组织准确了解其数据的位置——过去是否对其进行过审查,以及之前是否对其进行过清理、更改或移动。此过程可帮助 IT 专业人员决定在迁移数据之前是否需要修改数据以保护其完整性。并非所有数据都应直接进入云,但允许进入云的数据应具有完整的历史记录,这样可以帮助组织了解其在云中的新位置。
镜像数据
虽然不可能仅仅将所有数据复制并粘贴到云中,但镜像过程确实有助于确保在 Azure 数据库迁移过程中不会丢失任何内容。为帮助迁移,请考虑提取、转换和加载 (ETL) 过程。它允许团队将数据和应用程序复制到云中,最终用户仍在本地,同时还允许数据和应用程序在整个迁移过程中与云保持并行。这是迁移过程的第一步重新发挥作用的地方。理想情况下,应在 Azure 数据库迁移开始之前识别为云兼容性编写或重新配置的代码。
测试,然后再测试
数据库迁移完成后,彻底测试云以识别和准备未来影响迁移过程的任何问题至关重要。对于初学者,将您以前的系统与新的云进行比较,以识别任何缺失的数据,发现新系统与旧系统之间的差异,并寻找痛点或云改进的地方。
完成这些评估后,通过提供一份准确概述云运行方式的初始文档来为报告建立基线,在更新基线报告的同时继续监控系统,并测试潜在的未来问题,而不是简单地按原样评估云。您的云应该随着组织的发展而适应,在未来数月或数年内正常运行,就像在那些初始阶段一样。一定要推迟在整个组织范围内发布新云,直到它经过全面测试并且其功能得到充分记录。
简化 Azure 数据库迁移的工具
幸运的是,不必单独执行 Azure 数据库迁移过程。有多种工具可帮助您尽可能轻松地进行迁移。以下是一些最佳 Azure 数据库迁移工具的精选。
SolarWinds ®数据库性能监视器(DPM)
该工具通过收集、分析和可视化帮助实时查明 Azure SQL 性能问题所需的指标来协助您的Azure 数据库迁移。DPM 通过监控每个执行的查询的延迟、吞吐量、错误、警告、索引使用、执行计划等,提供对数据库性能的深入洞察。DPM 由 IT 专业人员为 IT 专业人员设计,直观且易于使用,允许您从全局视图向下钻取,只需单击几下即可检查单个服务器上的特定问题查询。
SolarWinds ®数据库性能分析器(DPA)
迁移和测试过程就是在问题出现之前识别问题。SolarWinds DPA 中的 Azure SQL 数据库监控工具可以帮助您找到环境中最重要的 Azure SQL 服务器性能问题,然后快速深入了解 DPA 提供的分析以确定导致问题的原因。使用相关的资源指标更深入地了解利用率问题。
DPA 中的 Azure SQL 性能监控工具提供详细的阻塞和死锁分析,以量化阻塞对最终用户的影响,同时可视化阻塞树以公开所涉及的会话和查询——让您了解导致问题的原因以及受害者是谁。查询级性能分析将可用数据整合到一个视图中,以帮助您回答“为什么这个查询现在变慢了?” 以及更多。
SolarWinds SQL Sentry®为您的组织选择正确的 SQL 数据库需要仔细规划成本效益。无论您是将 Microsoft Azure SQL 数据库用于软件即服务 (SaaS) 业务、企业生产还是开发和测试,资源配置不足或过多都可能意味着糟糕的用户体验和浪费的预算。
SQL Sentry 有助于监控性能指标,包括数据库事务单元 (DTU) 使用情况,并提供系统上发生的事件的通知。SQL Sentry 允许您区分一致的性能模式和异常情况,这对于确保您的数据平台为最终用户提供最佳性能至关重要。
将 SQL Server 从本地迁移到云端可以带来巨大的好处和挑战,尤其是在过渡期间。作为 Microsoft 的长期技术合作伙伴,SolarWinds 在您将 SQL Server 工作负载迁移到 Azure SQL 数据库或 Azure SQL 数据库托管实例时提供专家指导。
SolarWinds 解决方案为更顺畅的迁移铺平了道路,并确保您的 Azure 工作负载针对峰值性能进行了优化。