2011-01-28 123 views
2

我正在寻找将转换为2008格式的数据库转换回2000格式。我已经尝试了SQL Server Management Studio中的所有可用方法。导出数据,脚本数据库,所有这些,他们都失败了。导出似乎不会导出所需的所有内容,并且生成的脚本始终包含错误。数据库非常庞大,无法在生成的脚本中找到错误。将SQL Server 2008转换为2000

没有任何人有任何建议。

回答

6

你会使用SSIS/DTS具有出口/进口(无论是向导或手动)或SMO。 或者使用第三方比较工具如Red Gate SQL Compare

没有降级选项

+2

在这种情况下,SQLCompare是值得每一分钱将花费。当然,如果您使用了2000年没有的任何SQL Server 2008功能,仍然可能会遇到麻烦。 – HLGEM 2011-01-28 19:14:58

0

也许你应该去另一个方向。在SQL 2000上创建一个新的空白数据库,并使用“导入”功能从SQL 2008中提取数据。只要SQL 2008数据库不使用2005/2008特有的功能(不应该因为您说它已从2000已经),那么你应该没问题。唯一的问题是导入具有依赖关系的对象时。例如,在这种情况下,请确保首先将所有充当PK的表导入到其他表的FK中。然后做功能。然后执行视图,因为您可能有依赖于这些视图的存储过程。然后做SP。如果您有重叠的依赖关系,您可能必须手动编写某些对象的脚本并将它们按特定顺序放置。

0

不幸的是,在产生SSMS脚本选项,并在合理的时间来做到这一点很容易的唯一途径的错误是使用第三方数据库比较或脚本工具。

除了SQL比较这已经提到的,我也是在过去使用ApexSQL Diff了类似的项目。这些都不会出错。这两种工具都是顶尖的。

原因生成脚本选项可创建脚本错误是,它并没有考虑到依赖顺序和回来到一个真实存在的sp_depends中的bug。

相关问题