1

我需要导出整个 SQL Server 数据库 - 架构、表、数据等,并尝试使用以下方法。

使用管理员凭据登录 SSMS,找到相关数据库,右键单击数据库,选择任务 >> 导出数据层应用程序。然后在服务器上选择一个位置来保存 .bacpac 文件,以便导出到另一个网络上的另一个服务器。该过程开始正常,但随后失败,错误报告有数百个错误说明,

“错误 SQL71562:验证元素 [dbo].[capt_blockperiod] 时出错:触发器:[dbo].[capt_blockperiod] 对对象 [master].[dbo].[sysprocesses].[hostname] 的引用未解析。外部引用不是从该平台创建包时支持"

请问我如何解决这些问题而不通过每一个?是否有另一种导出整个数据库的方法可以避免这些问题?

4

1 回答 1

0

尝试在控制台中生成 bacpac

cd C:\Program Files (x86)\Microsoft SQL Server\<SQL_VERSION>\DAC\bin

sqlpackage.exe /a:Export /ssn:myServer /sdn:myDatabase /tf:C:\<MY_PATH>\myBacpac.bacpac

如果登录用户正在执行脚本,将使用集成 Windows 身份验证。因此无需指定用户名或密码。

你确定是 bacpac 而不是 dacpac?

对于 dacpac :

cd C:\Program Files (x86)\Microsoft SQL Server\<SQL_VERSION>\DAC\bin
sqlpackage /Action:Extract /SourceDatabaseName:"MyDatabase" /SourceServerName:localhost /TargetFile:"C:\SomeDirectory\MyDatabase.dacpac"
于 2018-08-24T10:33:06.397 回答