【发布时间】:2014-01-17 14:56:39
【问题描述】:
我需要将一些数据库从 2012 年带回 2008 年,并且我使用生成脚本方法完成了大部分工作(选择 2008 作为选项和架构和数据之一)。当我访问一个大型数据库时,我收到一个关于内存不足的错误,无法继续执行程序。有没有办法在 2012 年使用 SQLCMD 并且仍然传入标志,以便它生成要在 SQL 2008 上运行的脚本?或者使用 SSMS 为大型数据库生成脚本的任何其他选项或已知大小限制? 谢谢你的帮助, 迈克
【问题讨论】:
-
可以将数据库导入 SSDT(“新”VS 数据库项目模板),然后选择部署到不同的 SQL Server 版本
-
现在我提供了一个解决方案,我意识到我可能无法完全理解这个问题。您是否尝试将数据从 SQL Server 2012 迁移到 SQL Server 2008?
-
是的。我有一个 2012 的服务器和一些数据库,我需要移动到 2008 实例。生成脚本之所以有效,是因为您可以为其提供包含模式和数据的选项,并使脚本针对特定版本的 SQL 运行。只是尝试生成脚本时,大案例抛出内存不足错误的问题。
-
这可能早就关闭了,但在我看来,您的数据库只是有太多数据无法将其全部转换为文本脚本(鉴于 SSMS 的编程)。该脚本可能会比原始数据大,因为它包含所有代码开销。如果您只是编写结构脚本,然后使用备份到文件并从文件恢复的方法来加载数据,该怎么办?我不确定这是否会在版本之间起作用......
标签: sql sql-server sql-server-2008 sql-server-2012 sqlcmd