【发布时间】:2020-07-12 16:31:56
【问题描述】:
我一直在尝试通过多种方式将一个非常大的数据库迁移到早期的 SQL Server,我开始做一个.bak 文件,但我发现它不兼容,它应该是同一个 SQL Server版本。
然后我选择了任务 - 生成脚本,创建一个包含所有架构和数据的.sql 文件,但该文件有 24gb 大!尽管使用sqlcmd 文件非常大,但我还是设法执行了它。但它从未成功执行完毕,它抛出了多种类型的错误,例如:
消息 156,级别 15,状态 1:
关键字“...”附近的语法不正确消息 105,级别 15,状态 1
字符串后的非右引号
然后我发现这条评论有 2 个解决方案 https://stackoverflow.com/a/27623706/3192041,我尝试了第一个但仍然抛出第二个错误,我尝试了第二个,它成功了!现在一切都很顺利,但后来我又遇到了一个错误......
这个错误:
Sqlcmd:错误:ReadText 出现内部错误(原因:已尝试 将文件指针移动到文件开头之前)。
所以现在问题与sqlcmd 命令有关??
我应该继续尝试使用生成的脚本迁移数据库吗?有没有更好的方法让它与早期的 SQL Server 版本兼容?
需要澄清的事情
我首先创建了一个仅包含架构信息的脚本,但是当我尝试为数据生成单独的脚本时,SSMS 却抛出了错误。因此,通过这种方式,我不能或者我不知道如何以简单的方式导出所有数据。我知道你可以为每个表导出数据,但是数据库有 200 多个表,这是不可行的。
此外,脚本需要一个多小时,如果该过程正确完成,可能会比这个时间长得多。
【问题讨论】:
-
你试过bacpac吗?
-
是的,但结果中有两个错误,导出数据库和验证架构错误。
-
错误消息是:在用作数据包一部分的架构中发现一个或多个不受支持的元素。
-
你能在问题上添加完整的错误信息吗?
-
在用作数据包一部分的架构中发现了一个或多个不受支持的元素。错误 SQL71564:验证元素 [UserKPI_old] 时出错:元素 [UserKPI_old] 已成为其登录的孤立元素,无法部署。错误 SQL71564:验证元素 [MalcolmKPI_old] 时出错:元素 [MalcolmKPI_old] 已从其登录中孤立,无法部署。错误 SQL71564:验证元素 [VaKPI_old] 时出错:元素 [VaKPI_old] 已从其登录中孤立出来,无法部署。错误 SQL71564:验证元素时出错 [AndronKPI_old]:元素...等等...
标签: ssms sql-server-2014 database-migration sql-server-2017