SuperAPI AI 工具集

validate-post-migration-data

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:在 SQL Server 迁移目标库上线后,对源库与目标库做只读校验,比较用户表清单、精确行数、架构或内容。支持 Azure SQL 数据库、Azure SQL 托管实例、Azure VM 上 SQL Server 目标。仅在迁移技能报告目标库已上线后使用,迁移完成与校验完成是两个独立状态。

主要能力:默认使用 RowCount 配置,自动比较所有映射表的用户表清单与精确行数,无需逐表确认;仅在用户明确要求时才运行更广的 Full 配置,校验架构与内容。复用迁移工作流提供的源/目标服务器名、数据库映射、认证模式、Entra 用户主体名称及安全连接或令牌路由。

使用方式:只执行只读目录与数据查询,不执行 DDL、DML、MERGE、TRUNCATE、修复、配置更改或统计信息更新,也不对源库运行 DBCC。一次只校验一对已批准的源-目标数据库。查询通过经校验的现代 Go 版 sqlcmd 可执行文件按完整路径调用;若继承的可复用连接不可用,Windows 认证用 -E,Entra 用 -G -U <user-principal-name>,且整个校验运行最多一次交互式登录。禁止使用 SQL 登录/SQL 认证,不请求、不接受、不使用 SQL 密码或凭据,不读取 Key Vault 或凭据管理器,不调用 Connect-AzAccount。若缺少兼容 sqlcmd,可在已获准备同意时运行 winget install sqlcmd --accept-package-agreements --accept-source-agreements,否则需一次批准;安装或校验失败则停止并参考 https://learn.microsoft.com/sql/tools/sqlcmd/sqlcmd-download-install。

结果与限制:状态分为 In progress、Pass、Inconclusive、Fail;只有所有必需场景通过且比较边界可证时才为 Pass,可写源无法证明精确时间点相等时为 Ready with conditions。目标或比较参考不可用、目标未上线、权限不足或查询失败时停止并报告 Failed。不询问校验范围、表选择、异常、输出格式、证据保留、超时、哈希列或冒烟查询;范围与既有异常从迁移交接中推导。预期目标适配须作为已批准例外显式记录,未批准差异不得计为通过。不启用快照隔离、不创建数据库快照、不添加辅助对象、不将数据库改为只读。具体超时、证据保留位置等未在资料中提供。