【问题标题】:How to copy structure of all tables to a new empty database?如何将所有表的结构复制到新的空数据库?
【发布时间】:2014-08-19 15:42:20
【问题描述】:

如何仅将所有表、视图和索引的结构从一个 SQL-Server 数据库复制到新的(空)数据库中(即,空的,没有用户数据)?

(如果有人记得 dBase,这是通过“复制结构”为每个表完成的。我也知道这可以通过逆向工程的结构来完成使用 ERWin 之类的工具将数据库转换为 SQL 语句,但我也没有。)

我在一个非常官僚(甚至可能是偏执狂)的客户站点工作,我只能在其中创建临时表,并且只能从常规表中读取。但我能够在“安全”区域插入和更新是非常重要的。

【问题讨论】:

  • 你用的是什么服务器?
  • 您可以从右键单击源数据库并选择任务 > 生成脚本开始
  • 再次感谢大家的回答和研究 :) (顺便说一句,我已经使用 ERWIN 和其他工具进行了逻辑和物理数据建模等。)这是一份新合同。我们的客户不允许我们使用许多关键组件。客户对以前的承包商不满意,并通过压制非同寻常的拜占庭式控制层做出反应——现在我们,新人,被它困住了。要点:我不允许按照您的建议行事。我已经尝试过,并获得“权限不足”。我们的经理正在“接触”客户。再次感谢。干杯,约翰

标签: sql-server


【解决方案1】:

您可以生成脚本来为您的数据库Documenting and Scripting Databases生成一个克隆的测试区域

【讨论】:

【解决方案2】:

Microsoft 的 SQL Server 通过部分抽象的工具支持这种情况,这些工具可以处理数据库模型、对其进行可视化、编辑、将模型从一个地方转移到另一个地方,甚至计算模型之间的差异,并以此方式创建数据库架构升级脚本。

我记住的部分是这些模型存储在名为 *.dacpac 的大型 XML 文件中,如果我在 Visual Studio 中打开 *.sqlproj 项目,则会有一个架构比较按钮可用

这是整个架构概念,更抽象,与dBase 不同,您可以开始更多地了解它,例如在

Microsoft SQL Server - Data-tier applications

(或尝试 Google:“dacpac 部署”)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2019-03-17
    • 1970-01-01
    • 2013-10-28
    • 2019-06-15
    • 2019-04-05
    相关资源
    最近更新 更多