Debian上SQL Server数据库迁移方法
一、常用方法概览
二、方法对比与适用场景
| 方法 | 停机窗口 | 复杂度 | 适用场景 | 关键要点 |
|---|---|---|---|---|
| 备份与还原 | 近零(配合日志备份) | 低-中 | 同版本/相近版本整库迁移 | 目标文件路径不同用 WITH MOVE;覆盖用 WITH REPLACE;必要时做差异/日志备份减少停机 |
| 分离-附加 | 短(需离线拷贝文件) | 中 | 可直连文件系统、整库迁移 | 分离前确保无活动连接;拷贝 .mdf/.ndf/.ldf 后附加;注意文件权限与路径 |
| 导入导出向导/bcp | 可控(表级分批) | 中 | 部分表迁移、跨版本/跨平台 | 大表建议分批/BCP并行;先迁结构再迁数据;对象脚本单独执行 |
| 事务复制 | 最小(最终切换) | 高 | 升级/迁移需持续同步 | 配置发布/订阅、快照初始化;监控复制延迟与一致性 |
| 脚本化迁移 | 取决于脚本执行 | 中-高 | 重构或版本差异大 | 对象脚本与数据脚本分离;注意数据类型/排序规则/依赖顺序 |
三、关键操作要点
备份与还原要点
分离-附加要点
导入导出向导与bcp要点
bcp dbo.YourTable out /tmp/YourTable.bcp -S <IP>,1433 -U SA -P '<pwd>' -n -c;导入示例:bcp dbo.YourTable in /tmp/YourTable.bcp -S <IP>,1433 -U SA -P '<pwd>' -n -c -b 10000(按批提交减少锁竞争)。事务复制要点
四、迁移前后检查清单
sqlcmd -S localhost -U SA -P '<pwd>'。