SuperAPI AI 工具集

sql-bacpac-to-azure-sql-db-migration

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:将 SQL Server 用户数据库通过离线 BACPAC 工作流迁移到 Azure SQL Database,使用 SqlPackage 完成导出与导入,支持迁移单个或全部用户数据库。BACPAC 包含数据库架构和数据,但不保留实例级对象、服务器配置、SQL Agent 作业,也不提供事务一致性的在线迁移。

主要能力:按阶段执行迁移,包括工具校验、源连接与安全输入收集、数据库发现与范围解析、本地文件夹准备、逐库导出 BACPAC、目标 SKU 与大小选择、认证与导入,以及将成功导入的数据库交给迁移后验证。支持 Windows 集成认证或 Microsoft Entra 认证,禁止使用 SQL 登录认证。

使用方式:需先阅读 references/command-execution-setup.md 与 references/command-execution-export-import.md,并将包含这些参考文件的绝对目录作为 $skillReferenceRoot 传入命令块。SqlPackage 导出与导入只能通过 references/bacpac-command-helpers.ps1 中的 Invoke-SqlPackageWithProgress 执行,不得替换为 Start-Process 或命令字符串。使用现代 Go 版 sqlcmd 或 gosqlcmd 作为前置条件,必要时可用 winget install sqlcmd 安装。

适用场景:用户要求使用 BACPAC、SqlPackage、导入导出或离线方式将 SQL Server 数据库迁移到 Azure SQL Database 时。

限制:属于离线迁移,会发生停机;不执行源迁移就绪性、兼容性、功能、依赖、性能或大小评估;不执行源库破坏性操作或 DDL 写入;目标 SKU 需从内置目录选择并校验;目录不保证区域可用性、配额、订阅资格或容量。资料未提供具体价格、收费或平台支持范围。