【问题标题】:Can you use SQLCMD to generate scripts from 2012 to run in 2008?您可以使用 SQLCMD 生成从 2012 年开始在 2008 年运行的脚本吗?
【发布时间】: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


【解决方案1】:

这可以使用 SQL Server 导入导出向导轻松完成。如果您在表上设置了特殊约束,您可能需要先创建这些表。该工具相当快速,并提供逐步状态更新。

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2013-02-24
    • 2023-01-15
    相关资源
    最近更新 更多