我负责将数据库从PROGRESS导入到SQL Server。 我即将使用PROGRESS'ODBC驱动程序build立“链接服务器”。
我需要抓住所有的桌子和所有的内容 – 有些非常大。 总的来说,目前的PROGRESS数据库大约需要135GB的磁盘空间。
任何想法/猜测SQL Server数据库将是多less?
另外:这个批量操作的最佳恢复模式是什么 – bulk_logged或simple ? 任何猜测我将需要多less日志文件空间? 对于PROGRESS数据库表,我还没有任何行数,但不幸的是 – 数据主要是文本和数字 – 没有斑点或任何性质的东西
有几个想法来帮助 –
1.)如果您已经备份了PROGRESS数据库,并且在导入到SQL Server期间解决问题的方法只是重新启动,我将保持简单模式。 这将允许事务日志本质上被重用,当文件中的现有logging不需要用于崩溃恢复/重启恢复时。 您将无法恢复到某个时间点,但如果您遇到问题,则只需重新启动导入过程即可。 应该有助于节省事务日志空间。
2.)交易日志将在交易过程中继续增长。 所以,如果你用一条语句一次插入整个大表,日志可以增长很多(尽pipe使用最小化日志操作也可以在这里帮助,特别是在简单的恢复模式中 – http://msdn.microsoft.com/ en-us / library / ms191244.aspx )这里的关键是你可能想批量插入大表,甚至可能在批次间留下一些延迟因素,以使日志增长有所减小。
3.)我以前没有从PROGRESS导入,但可以考虑使用SSIS包甚至导入向导来执行此操作。 您可能会发现它比链接服务器查询更快,另外还有处理批量大小和处理大量数据加载的方法。