从SQL Server 2008中的数据库备份单个表及其数据


Answers:


32

您可以通过多种方式退回表格。

  1. BCP(批量复制程序)
  2. 用数据生成表脚本
  3. 使用SELECT INTO复制表,此处为示例
  4. 将表数据直接保存在平面文件中
  5. 使用SSIS将数据导出到任何目的地

10
尽管此代码可以回答问题,但提供有关其为什么和/或如何回答问题的其他上下文将显着提高其长期价值。请编辑您的答案以添加一些说明。
CodeMouse92 '16

如果用于日常备份,我们可以使用复制来复制您要备份的表。然后,备份订户数据库。
DBALUKE HUANG

@ CodeMouse92同意。我之所以投下反对票,是因为答案简短而且缺乏解释。
科洛布峡谷

145
select * into mytable_backup from mytable

使表的副本MYTABLE,并在它的每一行,叫mytable_backup


9
很好,这个查询实际上会创建“ mytable_backup”表。我没想到,并创建了一个新表备份到。
艾丹奥(AidanO)'17

我用了大量的数据备份到不同的模式,我只是注意到在某些情况下,有行MISSING!目标可能不完整。我不知道为什么。这样备份后最好检查行数。

41

您可以在SSMS上使用“为数据库对象生成脚本”功能。

  1. 右键单击目标数据库
  2. 选择任务>生成脚本
  3. 选择所需的表或特定对象
  4. 点击高级按钮
  5. 在“常规”下,在“要编写脚本的数据类型”上选择值。您可以选择“仅数据”,“仅模式”以及“模式和数据”。模式和数据包括表创建和生成的脚本上的实际数据。
  6. 单击下一步,直到向导完成

这个解决了我的挑战。
希望这对您也有帮助。


21

您可以使用以下步骤创建表脚本及其数据:

  1. 右键单击数据库。
  2. 选择任务>生成脚本...
  3. 点击下一步。
  4. 点击下一步。
  5. 在“表/视图选项”中,将“脚本数据”设置为True;然后单击下一步。
  6. 选中表格复选框,然后单击下一步。
  7. 选择表名,然后单击下一步。
  8. 单击下一步,直到向导完成。

有关更多信息,请参见Eric Johnson的博客。


11

尝试使用以下查询,该查询将在相同或其他数据库(“数据库”)中创建各自的表。

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable

1
以前的答案有什么不同吗?
Ofer Zelig




2

如果需要备份数据库中多个表中的单个表,可以采用的另一种方法是:

  1. 从数据库生成特定表的脚本(右键单击数据库,单击任务>生成脚本...

  2. 在查询编辑器中运行脚本。您必须将脚本中的第一行(USE DatabaseName)更改/添加到新数据库中,以避免出现“数据库已存在”错误。

  3. 右键单击新创建的数据库,然后单击“任务”>“备份...”。备份将包含从原始数据库中选择的表。


0

要在本地文件系统上的文件中获取副本,可以使用Windows“开始”按钮菜单中的此摇摇欲坠的实用程序:“ C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.