You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Azure SQL的bacpac到本地SQL Server时遇KILL权限错误,如何解决?

问题解决:导入Azure SQL bacpac到SQL Server时KILL DATABASE CONNECTION权限错误

问题原因

Azure SQL支持数据库级的KILL DATABASE CONNECTION权限,但本地SQL Server仅提供服务器级的ALTER ANY CONNECTION权限,bacpac导出的脚本沿用了Azure SQL的权限语句,导致导入时触发兼容性错误。

解决方案1:修改bacpac包中的权限脚本

  • 将bacpac文件重命名为.zip格式,解压到本地目录
  • 在解压文件中找到包含权限配置的脚本(通常为Model.sql)
  • 定位到语句:GRANT KILL DATABASE CONNECTION TO [test_db];,替换为:GRANT ALTER ANY CONNECTION TO [test_db];
  • 将修改后的文件重新打包为zip格式,再改回.bacpac后缀
  • 使用SSMS「导入数据层应用」或SQLPackage.exe重新导入修改后的bacpac

解决方案2:预授权+跳过权限脚本(临时快速方案)

  • 先在目标SQL Server执行授权语句:
    GRANT ALTER ANY CONNECTION TO [test_db];
    
  • 使用SQLPackage.exe导入时添加参数跳过权限检查:
    SqlPackage.exe /Action:Import /SourceFile:"C:\path\to\your.bacpac" /TargetConnectionString:"Server=你的服务器名;Database=test_db;Integrated Security=True" /p:IgnorePermissions=True
    

内容的提问来源于stack exchange,提问作者goxarad784

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:10:15