115

我想使用脚本从 SQL Server 中的数据库中获取单个表及其数据的备份。

我怎样才能做到这一点?

4

10 回答 10

178
select * into mytable_backup from mytable

复制表mytable及其中的每一行,称为mytable_backup

于 2014-03-24T11:28:28.127 回答
57

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

  1. 右键单击目标数据库
  2. 选择任务 > 生成脚本
  3. 选择所需的表或特定对象
  4. 点击高级按钮
  5. 在 General 下,选择Types of data to script上的值。您可以选择Data only、Schema only 和 Schema and data。模式和数据包括表创建和生成脚本上的实际数据。
  6. 单击下一步直到向导完成

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

于 2017-10-03T17:08:20.327 回答
39

有很多方法可以让您退出餐桌。

  1. BCP(批量复制程序)
  2. 使用数据生成表脚本
  3. 使用 SELECT INTO 制作表格副本,此处为示例
  4. 将表数据直接保存在平面文件中
  5. 使用 SSIS 将数据导出到任何目的地
于 2013-10-31T05:02:21.860 回答
25

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

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

有关详细信息,请参阅Eric Johnson 的博客。

于 2013-10-31T04:47:11.223 回答
12

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

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable
于 2014-08-11T12:18:13.150 回答
10

从 sql server 2008 的数据库中备份单个表及其数据

SELECT * INTO  [dbo].[tbl_NewTable] 
FROM [dbo].[tbl_OldTable]
于 2018-10-04T07:59:23.803 回答
3

将表放在它自己的文件组中。然后,您可以使用常规 SQL Server 内置备份来备份实际上备份表的文件组。

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

要在非默认文件组上创建表(很简单),请参阅:在非默认文件组 上创建表

于 2017-07-31T13:04:18.727 回答
3

这个查询为我运行(对于 MySQL)。mytable_backup 必须在此查询运行之前存在。

insert into mytable_backup select * from mytable
于 2018-02-26T12:37:05.007 回答
2

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

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

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

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

于 2016-11-23T11:46:26.053 回答
0

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

于 2016-06-10T14:13:39.733 回答