当您通过指定 <database selection="included"> 来复制 Teradata Database 中的所有对象时,Data Mover 会将所有表从源复制到目标中,但会保持目标数据库中的其他任何表不变。例如,如果源数据库包含表 A、B 和 C,目标数据库包含表 A、B、C 和 D,则表 A、B 和 C 从源数据库复制到目标数据库,而表 D 仍在目标数据库上。
数据库替换功能使您可以通过消除目标数据库中的所有对象并将其替换为源数据库上的对象来完全覆盖或“替换”目标系统上的数据库。目标数据库上存在但源数据库上不存在的任何其他表都将被删除。通过将可选的 replaceDatabase 属性设置为 true 可以替换数据库,如下所示:
<database selection="included" replaceDatabase="true"> <name>MyDatabase</name> </database>
replaceDatabase 属性的缺省值是“false”(如果未指定)。如果该属性设置为 <replaceDatabase="false"> 或根本未指定值,则复制整个数据库后,目标数据库中存在但源数据库中不存在的表将保留在目标数据库上。
当使用 DSA 且源或目标数据库版本低于 Teradata Database 16.20 时,Data Mover 将覆盖目标数据库,而不管 replaceDatabase 的值为何。