我已使用 Azure 门户将 Azure SQL 数据库导出到 .bacpac 文件中。
使用 SQL Server Management Studio 17.9.1,我运行“导入数据层应用程序”向导并选择 .bacpac 文件。它不会成功导入:
一条错误消息指出:
所以看起来他在抱怨“IntegerIdList”用户定义的表类型不存在(或者他找不到它)。但它在源数据库中可用:
有没有办法将此 bacpac 文件导入现有数据库?这样我就可以在运行此向导之前创建此表类型。
我已使用 Azure 门户将 Azure SQL 数据库导出到 .bacpac 文件中。
使用 SQL Server Management Studio 17.9.1,我运行“导入数据层应用程序”向导并选择 .bacpac 文件。它不会成功导入:
一条错误消息指出:
所以看起来他在抱怨“IntegerIdList”用户定义的表类型不存在(或者他找不到它)。但它在源数据库中可用:
有没有办法将此 bacpac 文件导入现有数据库?这样我就可以在运行此向导之前创建此表类型。
据我所知,没有办法将 bacpac 恢复到现有数据库。
尝试安装最新版本的 SQL Server Management Studio(此时为 18.1),然后重试。
如果最新版本的 SSMS 不能解决问题,作为一种解决方法,使用另一个名称复制数据库,编写用户定义表类型 (UDTT) 和所有相关存储过程的脚本,将它们从新创建的数据库中删除并导出此数据库的原始数据库。在现有 SQL Server 上恢复 bacpac,恢复完成后,运行将创建 UDTT 和所有相关存储过程的脚本。
UDTT 仅在 SQL Server 2008 及更高版本上受支持。