【问题标题】:SQL Server Restore BACPAC throws error on a missing User-defined table typeSQL Server 还原 BACPAC 在缺少用户定义的表类型时引发错误
【发布时间】:2019-11-24 05:36:44
【问题描述】:

我已使用 Azure 门户将 Azure SQL 数据库导出到 .bacpac 文件中。

使用 SQL Server Management Studio 17.9.1,我运行“导入数据层应用程序”向导并选择 .bacpac 文件。导入不成功:

一条错误消息指出:

所以看起来他在抱怨“IntegerIdList”用户定义的表类型不存在(或者他找不到它)。但它在源数据库中可用:

有没有办法将此 bacpac 文件导入现有数据库?这样我就可以在运行此向导之前创建此表类型。

【问题讨论】:

    标签: sql-server azure-sql-database ssms bacpac


    【解决方案1】:

    据我所知,没有办法将 bacpac 恢复到现有数据库。

    尝试安装最新版本的 SQL Server Management Studio(目前为 18.1),然后重试。

    如果最新版本的 SSMS 不能解决问题,作为一种解决方法,使用另一个名称复制数据库,编写用户定义表类型 (UDTT) 和所有相关存储过程的脚本,将它们从新创建的数据库中删除并导出这个数据库而不是原来的数据库。在现有 SQL Server 上恢复 bacpac,恢复完成后,运行将创建 UDTT 和所有相关存储过程的脚本。

    UDTT 仅在 SQL Server 2008 及更高版本上受支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多