有什么方法可以让我从现有的数据库生成 SQL 脚本吗?

发布于 2024-09-12 02:13:02 字数 113 浏览 3 评论 0原文

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

如何从现有数据库中对代码进行逆向工程?

我正在使用 Microsoft SQL Server Express 2008。

Say I already created my database but forgot to save the sql commands do create it.

How could I reverse engineer the code from an already existing database?

I'm using Microsoft SQL Server Express 2008.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笑着哭最痛 2024-09-19 02:13:03

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

  • 连接到数据库
  • 展开数据库 >您的数据库名称。
  • 右键单击数据库并选择选项“将数据库脚本编写为”,然后选择“创建到”,最后选择“文件”。

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

要编写数据库中所有表的脚本:

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

以下是 2008 版本的链接 SSMS Express 2008

You can do this pretty easily by using SQL Server Management Studio (SSMS) - it's available for free if you don't already have it installed.

  • Connect to the database
  • Expand out Databases > YourDataBaseName.
  • Right-click on the database and select the option "Script database as" then "Create To" then finally "File".

That will create the necessary scripts to recreate your database.

To script out all the tables in your database:

  • Right-click on the database node
  • Select "Tasks" then "Generate Scripts".
  • When the wizard appears, click Next.
  • Select the database. At this point you can check the "Script all objects in the selected database" which does exactly what it says, or if you leave it unchecked you will get the option later in the process to pick which items are scripted.
  • Click next. Now you're given some scripting options.
  • I'd suggest scrolling down the list and checking the option to Script Indexes/Script Triggers. You can also script the data if necessary (though I wouldn't do this if you've got a lot of data in your database).
  • Modify any options you'd like and click Next.
  • Select the database types you'd like to script (Users/Tables/Views). Click Next.
  • Now you've got the opportunity to select more specific items. Hit Next and repeat the process of any of your other database types.
  • Hit next one more time, then select where you'd like the script written to. You get the chance to review your selections.
  • Click Finish.

Here's a link for the 2008 version SSMS Express 2008

雨后彩虹 2024-09-19 02:13:03

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

Your RDBMS comes with some sort of "dump" tool that will give you the structure and content of your database, in the form of SQL statements.

谁人与我共长歌 2024-09-19 02:13:03

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

右键单击您的数据库并选择“任务”->“生成脚本”。
单击“下一步”,然后再次单击“下一步”(默认情况下选择数据库中的所有对象),选择一个输出选项(默认为“保存到文件”),单击“下一步”,瞧!

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

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

As others have mentioned, if you have SQL Management Studio (you should, it's free as part of SQL Server Express). Fire it up, connect to your instance then expand the Database tree.

Right click on your database and select Tasks->Generate Scripts..
Click next, then Next again (which selects all objects in the database by default), pick an output option (defaults as "Save to File"), click next and voila!

If you also want to script the data as well as the schema, in the "Set Scripting Options" window, click on the Advanced button, scroll down to "Types of data to script" (just above the Table/View Options header) and select "schema and data".

[Edit] Tested - The Generate Scripts option exists and works in the (free) 2008 R2 edition of SSMS. See the link in my comment below for the URI for the R2 version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文