【问题标题】:How do I make a copy of a table within SQL Server Enterprise Manager?如何在 SQL Server 企业管理器中制作表的副本?
【发布时间】:2021-09-11 05:32:59
【问题描述】:

这是“我可能应该知道,但我不知道”的问题之一。如何在企业管理器中制作表的副本?不将数据导出到不同的数据库,只需在同一数据库中制作表的副本。此时,我不管数据有没有来,但表定义肯定要重复。

如果我对选定的表执行 Ctrl+C 并将结果粘贴到文本编辑器中,它会为我提供一个看起来很有希望的 Create Table 语句,但我终其一生都找不到运行该语句的地方.

编辑:注意我问的是SQL Server Enterprise Manager。这与“SQL Server Management Studio”不同。左上角和其他任何地方都没有“新查询”按钮。事实上,“查询”这个词在 EM 中除了“工具”菜单以外的任何地方都没有出现,并且那里有一个到 Query Analyzer 的链接。

【问题讨论】:

  • Use New > Query 从 File 菜单中粘贴你的 Create 语句。然后更改表名以创建并运行查询。
  • 企业管理器(即不是 Management Studio)是否有“新建”>“查询”选项?
  • 如果你不说你使用的是哪个 SQL Server 版本,那么没人会知道,你会得到在升级之前无法使用的答案。
  • 问题标题中显示“SQL Server Enterprise Manager”。
  • 这几乎属于 ServerFault,因为它与编程无关。

标签: sql sql-server


【解决方案1】:

复制包含所有内容的表格(没有键和约束)

select * into tablecopy from table 

复制没有内容的表格(没有键和约束)

select top 0 * into tablecopy from table 

有一种方法可以在所有约束条件下复制它,在(表的)右键菜单中,然后所有任务然后编写脚本,然后创建到新的查询编辑器窗口(或文件)。您将不得不修改生成的脚本,以便约束和键的名称不同,然后执行

insert into tablecopy select * from table

填充它。

编辑:如果您实际要求的是在企业管理器中运行 SQL 的地方,请尝试查询分析器或 Management Studio。

【讨论】:

    【解决方案2】:
    SELECT * INTO MyNewTable FROM MyOldTable
    

    新表将在没有主键、外键或其他任何东西的情况下创建

    【讨论】:

    • 1.我特别需要键和索引,而不是数据。 2. 为了运行它,我应该把这个语句放在哪里?
    【解决方案3】:

    如果您说的是 2000 年企业经理: 工具 -> 查询分析器 将为您提供执行查询的位置。

    【讨论】:

    • 谢谢,这成功了!下一个人的完整步骤:选择要复制的表格并按 Ctrl+C(或使用右键菜单)。在工具菜单上,选择 SQL 查询分析器。这会带来选择正确的数据库和所有内容的 QA。 Ctrl+V 粘贴 Create Table 语句。编辑语句以更改表名和任何约束/键/等的名称。按绿色箭头。达达! (您可能需要在关闭 QA 并返回 EM 后刷新表格列表。)
    • 文科:不是我。所以你自己解释一下。
    • feihtthief:我说的是某个人对你的答案投了反对票(没有任何正当理由,afaict),我并没有指责你对我或其他任何人投反对票。
    • Vinko:抱歉。我误解了。我想答案是为他们做简要介绍。
    【解决方案4】:

    试试这个:

    SELECT *
    INTO new_table_name
    FROM old_table_name
    

    【讨论】:

    • @Marth - 右键单击​​表格,打开->返回前 (100) 行,然后单击工具栏上的 SQL 按钮。用这个替换 SELECT 语句,然后按 !按钮。
    【解决方案5】:

    使用 TSQL...

    SELECT * INTO MyTableCopy FROM MyTable WHERE 1=2
    

    使用 EM,右键单击对象 > 所有任务 > 生成 SQL 脚本。

    【讨论】:

    • 生成 SQL 脚本...然后呢?它给了我一个几乎没有启用任何功能的窗口,而且没有任何意义。
    • 在第三个选项卡上,勾选四个“table scripting”选项,然后按“OK”。
    【解决方案6】:

    如果你想要主键等,右键点击表格,选择“Script table as”,然后选择“Create to”,然后选择“New Window”。将表的名称更改为副本的名称并运行脚本。然后,如果您想要数据,您可以根据其他答案进行选择。

    【讨论】:

    • 不仅名字要改,如果有限制也得改名
    • 右键单击不会给出“脚本表为”选项。你确定你说的是企业管理器吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多