每隔一段时间,我需要将数据库从一台服务器(QA)移至另一台(生产)
直到现在,我曾经在一个服务器副本上执行备份到另一台服务器,然后将其还原...
有没有办法更有效地做到这一点?
也许是自动化的工作?
镜子?复制?
我正在寻找一两次点击的解决方案。
tnx。
我已经制作了一个自动脚本,可以执行以下所有操作: 1)备份。 2)zip。 3)复制。 4)解压缩。 5)还原。
答案 0 :(得分:2)
是否可以创建一个SSIS包(使用传输数据库任务+传输SQL Server对象),在需要时可以执行?您可以创建一个“模板”包,并仅通过更改连接即可将其用于进一步使用。 有关更多详细信息,请参见此博客文章:
从上面的链接:
传输数据库任务:传输数据库任务用于将数据库移至另一个SQL Server实例或在同一实例上创建副本 实例(具有不同的数据库名称)。此任务有两种模式 [...]:
离线:在这种模式下,将源数据库置于单用户模式,mdf副本, ndf和ldf文件移动到指定的网络位置[...]
联机:在此模式下,任务使用SMO将数据库对象传输到目标服务器。在这种模式下,数据库是 在复制和移动操作期间处于联机状态,但是随着 它必须分别从数据库中复制每个对象[...]。
传输SQL Server对象任务传输SQL服务器对象任务用于将一个或多个SQL Server对象传输到另一个 同一或另一个SQL Server实例上的数据库。这个 允许您选择要传输的不同类型的对象。 您可以选择表,视图,存储过程,用户定义 功能等。[...]
不知道要使此程序包在您可能需要复制的不同数据库之间进行转移会花费什么,但是也许值得探讨。 祝好运! :)