当前位置:  开发笔记 > 编程语言 > 正文

表级备份

如何解决《表级备份》经验,为你挑选了5个好方法。

如何在MS SQL Server 2005/2008中进行表级备份(转储)?



1> John Sansom..:

您不能使用该BACKUP DATABASE命令备份单个表,除非当前有问题的表已分配给它自己FILEGROUP.

正如您所建议的那样,您可以执行的操作是将表格数据导出为CSV文件.现在,为了获得表的定义,您可以"编写" CREATE TABLE脚本.

您可以在SQL Server Management Studio中执行此操作,方法是:

右键单击数据库>任务>生成脚本

然后,您可以选择要编写脚本的表,还可以选择包含任何关联对象,例如约束和索引.

为了获得DATA与刚一起schema,你要选择Advanced一组脚本选项选项卡上,并在GENERAL部分设定的Types of data to script选择Schema and Data

希望这有帮助,但如果您需要进一步的帮助,请随时直接与我联系.


John,别忘了提到为了获得DATA以及架构,你必须在set scripting options选项卡上选择`Advanced`,并在GENERAL部分中设置`数据类型为脚本`选择`架构和数据`.这是我第一次这样做时并不明显.

2> kenwarner..:

我正在使用批量复制实用程序来实现表级备份

出口:

bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E

进口:

bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000

如您所见,您可以根据任何查询进行导出,因此您甚至可以使用此进行增量备份.此外,它是可编写脚本的,而不是此处提到的使用SSMS的其他方法.



3> Alex C..:

以下是您需要的步骤.如果您想要数据,Step5很重要.您可以在步骤2中选择单个表.

编辑堆栈的版本不太可读...这是一个全尺寸的图像http://i.imgur.com/y6ZCL.jpg

以下是John Sansom回答的步骤



4> 小智..:

您可以运行以下查询来备份现有表,该表将创建具有旧表的现有结构的新表以及数据.

select * into newtablename from oldtablename

要仅复制表结构,请使用以下查询.

select * into newtablename from oldtablename where 1 = 2



5> Diego..:

这类似于qntmfred的解决方案,但使用直接表转储.此选项稍快一些(请参阅BCP文档):

出口:

bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E

进口:

bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有