SuperAPI AI 工具集

sqlpackage-import-export

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:把整个现有数据库作为可移植文件迁移,由 SqlPackage 的四个动作分别承担不同方向与内容。Extract 从数据库写 .dacpac(默认仅架构);Publish 从 .dacpac 写回数据库;Export 从数据库写 .bacpac(架构加所有基表数据);Import 从 .bacpac 导入数据库。

主要能力与用法:属性按动作区分,ExtractAllTableData 属 Extract,Export 不接受;未知属性会在连接前被拒绝。可用 sqlpackage /version:True 与 sqlpackage /Action:Export /? 查询。命令示例:Extract 用 /Action:Extract /TargetFile:app.dacpac /p:VerifyExtraction=true;Export 用 /Action:Export /TargetFile:app.bacpac /p:VerifyExtraction=true /p:LongRunningCommandTimeout=0;Import 用 /Action:Import /SourceFile:app.bacpac /p:DatabaseEdition=Standard /p:DatabaseServiceObjective=S1;Publish 用 /Action:Publish /SourceFile:app.dacpac /p:BlockOnPossibleDataLoss=true /p:DropObjectsNotInSource=false。/p:DatabaseEdition 与 /p:DatabaseServiceObjective 仅 Import 和 Publish 接受。Import 与 Publish 均可创建目标,但仅 Publish 可重复运行;Import 遇到已含用户对象的目标会以 SQL71659 拒绝。Extract 支持 /p:IgnoreUserLoginMappings=true 与 /p:IgnorePermissions=true,Export 不支持。Publish 前可用 DeployReport 或 Script 预看变更。

限制:bacpac 不用于备份恢复;Export 默认不保证事务一致性,除非导出期间无写入或来自一致性副本。含 Azure SQL 表面之外元素(如 Windows 登录、Service Broker 遗留权限)会以 SQL71627 失败。向量索引会破坏往返:导入先建架构后装数据,空表上建向量索引需至少 100 行非空向量(99 行报 42266)。验证可解压 bacpac 查看 TableData 条目,并比较两端行数与表数。支持平台与其它属性细节暂未提供。