将数据库从 Denali CPT3 复制到 SQL 2008 R2

将数据库从 Denali CPT3 复制到 SQL 2008 R2

好吧,正式来说,这件事让我很困惑。当 SQL Server Denali CPT3 在我们的开发环境中推出时,我有一个最糟糕的想法,那就是尝试它。它看起来不错,所以我们使用并收集了几个数据库。

现在我们有一个 SQL 2008 R2 实例,并且正在 Denali 实例上工作的团队想要切换到 2008 R2。

我的任务是将数据库从 Denali 实例复制到 2008 R2 实例,但事实证明这项工作比我想象的要困难得多。我尝试使用 mdf 和 ldf 文件附加数据库,但没有成功。我尝试从 denali 备份,但没有成功。我尝试导出/导入数据库,但没有成功。我尝试复制数据库,但失败了。唯一似乎有点效果的方法是在 denali 实例上生成脚本并在 2008 R2 实例中运行它们,但当我尝试为数据库的所有对象生成脚本时失败了。

我想知道是否有其他可行的解决方案,或者我尝试过的解决方案之一是否可行,我需要更加注意它。我愿意接受“疯狂”的解决方案,例如如果可能的话转移到 mysql 或 oracle(甚至是 csv 或平面文件,任何可以转移整个数据库的东西)。

答案1

正如您所发现的,您无法从这里到达那里——SQL 服务器无法回溯数据文件。假设您的人员没有使用任何特定于 2012 的功能或数据类型,您应该能够使用 SSMS 生成 SQL 脚本,然后可以针对 2008r2 实例执行这些脚本。即使在某些情况下它不起作用,您也有一个可修改的文本文件,您应该能够将其推到目标上,而不是具有严格要求的巨大丑陋的二进制混乱。

我还没有尝试过 2012 版的 SSMS,但在 2008r2 版中,您可以右键单击数据库并选择生成脚本来启动向导。请务必检查“设置脚本选项”步骤中“高级”按钮下的选项。如果 SSMS 内置的工具让您失望,您可能需要查看 RedGate 的工具套件——它们有一些非常高级的“脚本我的 SQL”选项。

相关内容