在 sqlserver2008中从数据库备份单个表及其数据

我希望使用脚本从 SQLServer 中的数据库获取单个表及其数据的备份。

我该怎么做?

465796 次浏览

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

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

有关更多信息,请参见 埃里克 · 约翰逊的博客。

有很多方法可以收回桌子。

  1. 批量复制程序
  2. 使用数据生成表脚本
  3. 使用 SELECTINTO 复制表,例如 给你
  4. 将表数据直接保存在平面文件中
  5. 使用 SSIS 将数据导出到任何目的地
SELECT * INTO mytable_backup FROM mytable

这样就复制了表 mytable以及表中的每一行,称为 mytable_backup。它不会复制任何索引、约束等,只复制结构和数据。

请注意,如果您有一个名为 mytable_backup的现有表,那么这种方法将不起作用,因此如果您希望定期使用此代码(例如,每天或每月进行备份) ,则需要首先运行 drop mytable_backup

为了在本地文件系统的文件中获得一个副本,这个来自 Windows 开始按钮菜单的摇摆不定的实用程序可以工作: “ c: 程序文件(x86) Microsoft SQL Server 110 DTS Binn DTSWizard.exe”

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

  1. 从数据库生成特定表的脚本(右键单击数据库,单击 Task > Generate Scripts..。

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

  3. 右键单击新创建的数据库,然后单击 Task > Back Up..。 备份将包含来自原始数据库的选定表

将表放在其自己的文件组中。然后可以使用内置的常规 SQLServer 备份文件组,该文件组实际上备份了表。

要备份文件组,请参见: Https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

要在非默认文件组上创建表(很简单) ,请参见: 在默认值以外的文件组上创建表

您可以在 SSMS 上使用“ Generate script for database object”特性。

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