每晚数据库还原 - SSIS 包 - SQL Server 2005

Posted

技术标签:

【中文标题】每晚数据库还原 - SSIS 包 - SQL Server 2005【英文标题】:Nightly database restores - SSIS package - SQL Server 2005 【发布时间】:2010-08-16 11:15:13 【问题描述】:

我们有一个每晚运行的 SSIS 包,它会备份几个生产数据库,恢复到暂存数据库,删除敏感信息,然后在另一台服务器上恢复这个暂存数据库的备份,以便 hyperion 人员可以运行他们的工作。整个过程过去大约需要 4 个半小时,但最近这个过程需要的时间比这更长——有时需要大约 6 个小时。涉及的产品数据库大小为 190 GB 和 90 GB。我们正在使用 litespeed 进行备份和恢复。

我想知道是否有任何方法可以加快这个过程(我知道,这个问题的答案将是 Paul Randal 的最爱。“好吧,这取决于”) - 除了 SSIS 包之外,还有其他更好的方法来获得结果一样吗?

这是要求。

备份 PRODDB1.SERVER1、PRODDB2.SERVER2 在 TEST.SERVER2 上恢复 PRODDB2.SERVER2 删除 TEST.SERVER2 上的敏感数据 在 REPORT1.SERVER3 上恢复 TEST.SERVER2 为 Hyperion 人员编写一个通知文件,让他们可以开始运行他们的工作 在 REPORT2.SERVER3 上恢复 PRODDB1.SERVER1 在 REPORT2.SERVER3 上运行一些恢复后脚本

【问题讨论】:

【参考方案1】:

每个人都使用“视情况而定”的回答……听了 10 年之后,我受够了!

这里只是一些想法......

我会确保您没有进行任何不必要的文件复制 - 将文件备份到它们的恢复位置。

确保操作能够在 SSIS 中串行执行 - 这样一个任务就不会在另一个任务上等待。

在您的步骤中进行一些审核或启用包日志记录以查看哪些步骤占用了大部分工作时间。花时间优化这些步骤。

可能存在优化清理脚本或恢复后脚本的空间。再一次 - 看看什么需要这么长时间,并专注于最大可能的收益。

【讨论】:

最大并发可执行文件设置为'-1',这应该处理串行执行的任务,对吧? 听起来不错。很想知道你得到了什么样的改进。

以上是关于每晚数据库还原 - SSIS 包 - SQL Server 2005的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQL 身份验证执行 SSIS 包

更改 SQL 列的数据类型时更新 SSIS 包

哪些 Azure SQL 产品允许我部署 SSIS 包?

从SQL Server代理作业步骤调用时,SSIS包不会运行

创建 SSIS 包 - 将数据从 Oracle 复制到 SQL Server

SQL Server 代理作业不执行 SSIS 包权限错误