【问题标题】:Copy Database from server to local DB (I need copy only structure, without data)将数据库从服务器复制到本地数据库(我只需要复制结构,没有数据)
【发布时间】:2020-11-06 02:23:09
【问题描述】:

我有一个问题。我在某些服务器上有一个数据库(MSSQL)。我需要在我的本地数据库上复制这个数据库。但!这个数据库是巨大的 7gb。我不需要来自这个数据库的数据。我只需要复制这个数据库的结构(我的意思是结构 - 所有数据库、所有表、连接等(!!!但我不需要来自这些表的数据))。我如何理解它 - 它将以相同的结构清理数据库。 我不知道如何实现它。我阅读了使用 PowerShell、Git 和 SQL 管理器可以做到的事情。但我没有找到例子。你能告诉我一些关于它的事情吗?

【问题讨论】:

  • "这个数据库是 7gb 的巨大" 7GB 不是一个大数据库。老实说,这在现实世界中非常小。如果您只需要结构化,您的数据库项目中是否已经有了它?或者,为什么不在 SSMS 中使用 Generate Scripts 工具呢?或者,由于它只是架构,您是否考虑过 DACPAC?

标签: sql sql-server database git powershell


【解决方案1】:
  1. 右键单击您的数据库 => 任务 => 生成脚本

屏幕截图在系统数据库上显示了这一点。不要在系统数据库上这样做。

  1. 选择所需的表/视图/存储过程。
  2. 根据您的偏好/要求更改脚本选项。
  3. 生成脚本

【讨论】:

  • 我需要复制所有表格。我选择了“编写整个数据库和所有数据库对象的脚本”。但是下一步我需要选择什么? “应该如何保存脚本”如果我在保存这个文件后理解正确,我可以在我的本地数据库中打开这个脚本,对吗?如果正确,另存为的最佳方法是什么?
  • 最好的办法是文件,因为如果你有很多表,如果你选择剪贴板,你可能会耗尽内存。您可以在 C# 代码中加载文件并针对 localdb 执行它。
  • 如何在 Visual Studio 中实现它?感谢您的帮助
  • 您可以像this 一样进行连接,或者您可以像this 一样进行操作
【解决方案2】:

如果您使用 MS SQL Server Management Studio,您可以右键单击要在其他数据库中拥有的表 -> 生成脚本 -> 创建 -> 然后选择一个选项。

唯一的缺点是,您必须为每个表单独执行此操作。

【讨论】:

  • “唯一的缺点是,您必须为每张桌子单独执行此操作。” 不,您不需要。只需选择“脚本整个数据库和所有数据库对象”
  • @Larnu 哦,好消息。不知道那个选项存在。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多