所以我有一个自动化工具,它使用 c# 调用 Powershell 脚本,该脚本将使用 sqlpackage.exe 将远程服务器上的数据库提取到 .dacpac 中并将其保存到我的文件系统中。
我们使用对 powershell 进程/管道的异步调用来获取脚本执行的当前结果并将它们输出到屏幕上供用户使用。该工具多年来一直运行良好,但突然在提取过程中途停止并抛出以下错误消息“提取数据库时出错:无法从数据库中导出模式和数据。无法访问关闭的流。” 在这一点上,我不知道是什么导致流被中断并且提取过程突然停止。
只是想知道是否有人经历过类似的事情,或者是否有人可以推荐一些步骤来调试此错误?
这是执行提取的脚本部分:
sqlpackage `
/action:extract `
/SourceConnectionString:"$endpoint" `
/TargetFile:"$dacPacFile" `
/p:ExtractAllTableData=True `
/p:ExtractReferencedServerScopedElements=False `
/p:IgnoreUserLoginMappings=True