我是否有办法从现有数据库生成SQL脚本?

时间:2010-07-28 00:51:34

标签: sql-server sql-server-2008 reverse-engineering

假设我已经创建了我的数据库但是忘了保存sql命令来创建它。

我如何从现有数据库中反向设计代码?

我正在使用Microsoft SQL Server Express 2008。

3 个答案:

答案 0 :(得分:5)

使用SQL Server Management Studio(SSMS)可以非常轻松地完成此操作 - 如果您尚未安装它,则可以免费使用它。

  • 连接数据库
  • 扩展数据库> YourDataBaseName。
  • 右键单击数据库并选择“脚本数据库为”选项,然后选择“创建到”,最后选择“文件”。

这将创建必要的脚本来重新创建数据库。

编写数据库中的所有表:

  • 右键单击数据库节点
  • 选择“任务”,然后选择“生成脚本”。
  • 出现向导时,单击“下一步”。
  • 选择数据库。此时,您可以检查“在所选数据库中编写所有对象的脚本”,它完全按照它所说的内容进行操作,或者如果不加以检查,您将在稍后的过程中获取选项以选择编写哪些项目。
  • 点击下一步。现在,您将获得一些脚本选项。
  • 我建议向下滚动列表并选中脚本索引/脚本触发器选项。如有必要,您也可以编写数据脚本(但如果您的数据库中有大量数据,我不会这样做。)
  • 修改您想要的任何选项,然后单击“下一步”。
  • 选择您要编写脚本的数据库类型(用户/表/视图)。点击下一步。
  • 现在您有机会选择更具体的项目。单击“下一步”并重复其他任何数据库类型的过程。
  • 再次点击下一个,然后选择您希望编写脚本的位置。您有机会查看您的选择。
  • 单击“完成”。

以下是2008版SSMS Express 2008

的链接

答案 1 :(得分:1)

您的RDBMS附带了某种“转储”工具,它将以SQL语句的形式为您提供数据库的结构和内容。

答案 2 :(得分:1)

正如其他人所提到的,如果你有SQL Management Studio(你应该,它是免费的,作为SQL Server Express的一部分)。启动它,连接到您的实例,然后展开数据库树。

右键单击您的数据库并选择Tasks-> Generate Scripts .. 单击“下一步”,然后再次单击“下一步(默认选择数据库中的所有对象)”,选择一个输出选项(默认为“保存到文件”),单击“下一步”,然后单击!

如果您还想编写数据和模式脚本,请在“设置脚本选项”窗口中,单击“高级”按钮,向下滚动到“脚本数据类型”(位于表/视图选项上方)标题)并选择“架构和数据”。

[编辑]已测试 - “生成脚本”选项存在并可在SSMS的(免费)2008 R2版本中使用。请参阅下面我的评论中的链接,了解R2版本的URI。