我遇到过同样的问题; 修改服务器可用的内存没有影响。
对我来说,解决方案是使用命令行 (PowerShell) 来执行导入。
[string]$myBacpac = 'c:\temp\myBacpac123.bacpac'
[string]$connectionString = 'Data Source=.;Initial Catalog=MyNewCatalog; Integrated Security=true;'
[string]$action = 'Import'
[string[]]$commandParameters = @(
"/Action:`"$action`""
"/SourceFile:`"$myBacpac`""
"/TargetConnectionString:`"$connectionString`""
)
[string]$LatestSqlPackage = Get-Item 'C:\*\Microsoft SQL Server\*\DAC\bin\sqlpackage.exe' | %{get-command $_}| sort version -Descending | select -ExpandProperty source -First 1
if ($LatestSqlPackage) {
Write-Verbose "Found: $LatestSqlPackage"
& $LatestSqlPackage $commandParameters
} else {
Write-Error "Could not find SqlPackage.exe"
}
在我第一次尝试时,我收到了一个关于不支持的模型版本的错误:
正在导入服务器“.”上的数据库“MyNewCatalog”。创建部署计划初始化部署 SqlPackage.exe:* 导入数据库时出错:无法从包中读取架构模型头信息。在 line:1 char:1 + & $sqlPackage /Action:Import /SourceFile:"c:\temp\myBacpac123.bacpac" /T ... + ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : NotSpecified: (* Error impor...n from package.:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 不支持模型版本“3.5”。
对于那个错误,我遵循了这里的指导:https ://stackoverflow.com/a/40541210/361842 ;即安装Microsoft SQL Server Data-Tier Application Framework (16.4)
。重新运行时一切都成功了。