SQL Server 复制表2025年3月17日 | 阅读 7 分钟 复制表意味着创建现有表的克隆或副本。复制的表必须包含与原始表相同的表结构、索引、约束和默认值。将现有表的数据复制到新表中,在表发生故障时备份数据非常有用。在维护、测试、演示以及迁移到新实例而不影响原始表的情况下也很有用。 本文将介绍如何在 SQL Server 中将一个数据库的表复制到另一个数据库。以下是创建复制表的流行方法:
使用 SQL 查询我们可以使用 SELECT INTO 语句将表从一个数据库复制到另一个数据库,或在同一数据库内进行复制。此语句首先创建一个新表,然后将数据复制到其中。如果我们成功复制了索引和约束等数据库对象,我们必须为每个对象创建一个查询,然后将该查询添加到目标数据库。 以下是说明 SELECT INTO 语句的语法: 示例 让我们了解如何使用 SELECT INTO 语句创建克隆表。假设我们有一个名为 'employee' 的表,其中包含以下数据: ![]() 如果我们想通过将所有记录复制到 backup_employee 表来创建 employee 表的副本,我们可以使用以下 SELECT INTO 语句: 克隆表包含的列顺序与 SELECT 语句中指定的顺序相同。这些列具有与原始表相同的名称、数据类型、可空性属性和值。如果表中的任何一个包含标识列,则克隆表中的新列将继承此属性,而无需启用 Identity_Insert。 我们可以如下验证 employee 数据是否成功插入到 backup_employee 表中: 这是输出 ![]() 使用 SQL Server Management Studio我们也可以使用 Management Studio 来创建克隆表或将源表数据复制到目标表中。我们可以通过使用 SQL Server Management Studio 的导出和导入向导来完成此操作。要传输/复制数据,用户可以选择使用此向导从源数据库导出或从目标数据库导入。 以下是创建从一个数据库到另一个数据库的克隆表的步骤: 步骤 1:打开 SQL Server Management Studio 并导航到对象资源管理器。 步骤 2:在对象资源管理器中,选择“数据库”并展开它以查看可用的数据库。 步骤 3:选择所需的数据库,右键单击它。将打开一个上下文菜单,单击“任务”选项,然后选择“导出数据”命令,如下图所示: ![]() 步骤 4:我们将看到“欢迎使用 SQL Server 导入和导出向导”,然后单击“下一步”按钮。 步骤 5:在下一步中,我们将看到“选择数据源”窗口。在这里,我们需要指定源服务器名称、连接到源服务器的身份验证方法、源数据库名称,然后单击“下一步”按钮。请参见下图: ![]() 步骤 6:在下一步中,我们将看到“选择目标”向导。在这里,我们将指定目标服务器名称、连接目标服务器的身份验证方法、目标数据库名称,然后单击“下一步”按钮。请参见下图: 注意:我们将使用相同的源和目标数据库及服务器。![]() 步骤 7:在下一步中,将打开“指定表复制或查询”向导。在这里,我们需要选择“从一个或多个表或视图复制数据”选项,然后单击“下一步”按钮。 ![]() 步骤 8:此步骤将打开“选择源表和视图”向导。在这里,我们需要选择要从源数据库复制到目标数据库的表,然后单击“下一步”按钮。 ![]() 步骤 9:我们需要单击“编辑映射”按钮并勾选“创建目标表”选项,以确保所选表将在目标数据库中创建。如果任何选定的表具有标识列,我们还必须在单击“确定”按钮之前勾选“启用标识插入”选项。如果我们选择了多个表复制到目标数据库,我们应该再次单击“编辑映射”选项并逐个检查每个表。 ![]() 现在,当所有表都通过“编辑映射”进行检查后,我们将单击“下一步”按钮。 步骤 10:此步骤将打开“保存并运行包”向导。在这里,我们需要单击“下一步”按钮。 ![]() 步骤 11:此步骤将打开“完成向导”步骤。在这里,我们需要单击“完成”按钮。 ![]() 步骤 12:当所有执行都成功完成时,我们将看到复制表所采取的步骤以及传输的记录数。在这里,我们需要查看步骤和消息,然后如果没有错误,则按“关闭”按钮。 ![]() 此方法是创建克隆表的最快方法,但它无法传输或复制表的索引和键。如果我们想创建包含索引和键的克隆表,则需要使用“生成脚本”方法来处理这些数据库对象。如果我们要克隆的表是外键连接的,我们必须按正确的顺序导出数据。如果不是这样,导出向导将失败。 使用生成脚本“生成脚本”方法是 SQL Server 提供的另一种方法。当我们不仅要将表架构和数据从源数据库复制到目标数据库,还要复制对象、索引、触发器、约束、键等时,可以使用此方法。 我们可以使用以下步骤生成一个脚本,用于从一个数据库到另一个数据库创建克隆表: 步骤 1:打开 SQL Server Management Studio 并导航到对象资源管理器。 步骤 2:在对象资源管理器中,选择“数据库”并展开它以查看可用的数据库。 步骤 3:选择所需的数据库,右键单击它。将打开一个上下文菜单,单击“任务”选项,然后选择“生成脚本”命令,如下图所示: ![]() 步骤 4:下一步将打开“选择对象”向导。在这里,我们将选择“选择特定数据库对象”选项,该选项会显示我们将为其生成脚本的表。通过在每个表对应的框中打勾来选择所需的表,然后单击“下一步”按钮。 ![]() 步骤 5:此步骤将打开“设置脚本选项”页面。在这里,我们将指定保存生成脚本文件的路径,然后单击“高级”按钮。 ![]() 单击“高级”选项后,我们将看到“高级脚本选项”页面。在这里,我们将选择“要脚本的数据类型”并指定“架构和数据”,如下图所示: ![]() 此页面还允许我们决定是否对表中的索引和键进行脚本化。在此页面上填写必要信息后,单击“确定”按钮。我们将返回到“高级脚本选项”页面,然后单击“下一步”按钮。 步骤 6:此步骤将打开“摘要”页面,我们将在其中查看整个流程步骤,然后单击“下一步”按钮。 ![]() 步骤 7:下一步将打开“保存脚本”页面,我们可以在其中监视整个过程的进度。如果一切正确,请单击“完成”按钮。现在,我们可以在指定位置找到脚本并在所需的数据库中执行它。 ![]() SQL Server 中的脚本方法有助于为表、索引和键的架构和数据生成单个脚本。但是,如果表之间存在关系,此方法不能正确生成表的创建脚本。 数据库文件损坏或损坏时该怎么办?当我们开始任何涉及 SQL Server 数据库的过程或任务时,可能会因为错误的执行或不良的数据库文件处理而导致数据丢失或 SQL Server 数据库文件损坏。Kernel for SQL Database Recovery 是一款 SQL 恢复工具,可在 SQL Server 数据库文件损坏或损坏时使用。它可以轻松地恢复损坏、损坏或不活动的 MDF 和 NDF 文件,同时保持原始文件结构和属性。 结论本文介绍了将表从源数据库复制到目标位置的几种方法,包括索引和键。这些方法很简单,但复制表(包括索引和键)需要大量工作。如果指定的表有关系,这些工具无法处理表的创建顺序。此外,如果在过程中出现任何问题,可能会导致数据和数据库文件都面临损坏和损坏的风险。 下一个主题SQL Server 重命名表 |
我们请求您订阅我们的新闻通讯以获取最新更新。