背景
在现代企业中,数据库是非常重要的一部分,它们存储着企业的核心数据。然而,数据库的版本和技术不断更新,企业需要及时升级和迁移数据库以保持其业务系统的可靠性和稳定性。
尽管对于某些业务系统来说,稳定性是最重要的,可能会导致版本不会轻易变化。但是,随着技术的不断发展和数据库版本的不再支持,适时的升级变得至关重要,同时也可以获得更高的性能和更好的安全性。
在实际的生产环境中,数据库迁移是一个非常复杂和关键的任务。如果没有妥善的规划和执行,数据库迁移可能会导致数据丢失、系统不稳定甚至导致业务中断。因此,需要仔细规划、测试和实施迁移计划,并在迁移过程中保持完整的备份和回退策略。
本文将介绍如何使用 SQL Server 导入和导出工具在两个版本数据库之间数据迁移。本文操作演示的示例为 SQL Server 2008 和 SQL Server 2019 之前的数据迁移。
前面提到升级数据库版本可以提高系统可靠性和稳定性,SQL Server 2019 相较于 2008 有以下几个优势:
- 支持更多的功能和版本,包括企业版、标准版、开发者版、Web版和Express版。
- 提供了更高的性能、安全性、可扩展性和可用性,支持大数据集群、智能查询处理和加速数据库恢复等特性。
- 允许直接从SQL Server 2008/R2升级,并保持数据库兼容性,无需修改代码或应用程序。
- 还支持Linux和容器化部署,提高了跨平台的灵活性和互操作性。
迁移工具介绍
SQL Server 版本间的数据迁移的最佳实践是使用数据迁移助手 (DMA),它的适用范围非常广:
- 本地上云,SQL Server 向 Azure SQL Database 迁移
- 两台不同的数据库服务器之间迁移
- SQL Server 不同版本间的迁移,高版本到低版本或低版本到高版本
关于 SQL Server 迁移的最佳实践,可以查看官方的文档教程 《SQL Server 升级》, 介绍了发现、评估和解决潜在的迁移问题,并提供验证的方法,并且包含 DMA 在内的一系列升级工具的下载和使用方法。
如果你不想那么麻烦,安装额外的软件,也可以使用 SQL Server 自带的导入和导出数据向导来直接复制数据,下面我们进行具体的操作过程演示。
使用导入和导出数据向导
在开始之前,需要进行充分的规划和准备工作,包括评估现有数据库的大小和复杂性、评估新数据库的硬件和软件要求、创建详细的迁移计划和备份策略等。以下是 SQL Server 导入和导出数据向导的使用演示,演示的版本为 2019 ,仅供参考。
注意:在使用向导时,虽然不同版本的数据库都有导入和导出数据向导工具提供,但是根据向下兼容的特性,选择高版本的工具是最好的选择。比如我们在 2008 版本中,无论是向上还是向下迁移,使用 2019 版本的工具都是合适的。
- 在开始菜单找到 Microsoft SQL Server 的迁移工具,这里我们选择64位。在欢迎页点击下一步。
- 数据源我们选择
Microsoft OLE DB Driver for SQL Server
,根据实际情况填写需要迁移的数据库服务器连接信息并选择好响应的数据库。点击下一步会验证数据源和配置是否可用。
- 选择目标,即指定将数据复制到哪个位置,同样的方式,我们选择需要迁移到目标数据库服务器。这里我们采用的是 SQL Server 身份验证。目标数据库我们可以点击新建创建新的数据库。处理完成后点击下一步。
- 因为这里是迁移,所以这一步我们直接默认就可以了,复制一个或多个。点击下一步后直接全选表即可继续下一步。
- 默认的选择是立即运行,我们直接下一步即可。然后向导会显示操作明细信息,你可以仔细核对一遍操作,确认无误后点击完成,即可开始任务执行。
- 迁移任务完成,需要检查是否出现警告和错误,然后针对具体情况进行处理。
总结
SQL Server 的导入和导出向导是一个非常有用的工具,可以帮助用户快速导入和导出数据,而无需编写复杂的 SQL 查询或程序代码。使用导入和导出向导,用户可以选择数据源、目标数据、映射源和目标列、指定导入或导出选项以及完成导入或导出操作,整个使用体验也非常简单便捷。
但是更正确的做法是使用官方的指南,使用MAP工具包,数据迁移助手和数据库实验助手进行评估、检查、迁移、验证等一系列的标准流程。如果仅是使用数据复制,可能会存在一些潜在的问题,需要自行验证和测试。
参考
SQL Server 2019: Your modern data platform
SQL SERVER 2019 – Supports Compatibility Level from 2008 to 2019