表级备份
如何在MS SQL Server 2005/2008中进行表级备份(转储)?
您不能使用BACKUP DATABASE
命令来备份单个表,除非这个表被分配给它自己的FILEGROUP
。
您可以按照您的build议将数据导出为CSV文件。 现在为了获得你的表的定义,你可以'脚本' CREATE TABLE
脚本。
您可以在SQL Server Management Studio中通过以下方式执行此操作:
右键单击数据库>任务>生成脚本
然后,您可以select您希望编写的表格,还可以select包括任何关联的对象,如约束和索引。
为了得到DATA
以及schema
,您必须在设置脚本选项选项卡上selectAdvanced
,在GENERAL
部分设置Types of data to script
selectSchema and Data
希望这可以帮助,但如果你需要进一步的协助,可以直接联系我。
我正在使用批量复制实用程序来实现表级备份
出口:
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的这里提到的其他方法。
这里是你需要的步骤。 如果你想要数据,第五步是很重要的。 步骤2是您可以select单个表格的地方。
编辑堆栈的版本是不太可读…这是一个全尺寸的图像http://i.imgur.com/y6ZCL.jpg
您可以运行下面的查询来获取现有表的备份,该表将创build具有旧表的现有结构的新表以及数据。
select * into newtablename from oldtablename
要仅复制表结构,请使用下面的查询。
select * into newtablename from oldtablename where 1 = 2
这与qntmfred的解决scheme类似,但使用直接表转储。 这个选项稍微快一点(见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
如果你正在寻找类似于MySQL的DUMP
,那么好消息是:SQL Server 2008 Management Studio增加了这个能力。
在SSMS中,只需右键单击有问题的数据库并select“ 任务”>“生成脚本” 。 然后在选项向导的第二页中,确保select你想要的数据脚本 ,并且它会为你生成相当于一个DUMP
文件。
您可以使用Microsoft的免费数据库发布向导来使用SQL脚本(CREATE TABLE和INSERT INTO)生成文本文件。
您可以为单个表创build这样的文件,只需运行SQL脚本即可“还原”包括数据的完整表。
创build新的文件组,把这个表放在上面,只备份这个文件组。
我不知道,是否会匹配这里描述的问题。 我不得不采取一个表的增量备份! (只应该复制新插入的数据)。 我曾经devise过一个DTS包。
-
我获取新的logging(基于“状态”列)并将数据传输到目的地。 (通过“转换数据任务”)
-
然后我只是更新了“状态”列。 (通过“执行SQL任务”)
我必须正确地修复“工作stream程”。
每个恢复模型都可以备份整个或部分SQL Server数据库或数据库的单个文件或文件组。 表级备份无法创build 。
来自: 备份概述(SQL Server)
使用SQL Server导入和导出向导。
- SSMS
- 打开数据库引擎
- Alt键。 单击包含要导出的表的数据库
- select“任务”
- select“导出数据…”
- 按照向导
您可能有两个选项,因为SQL Server不支持表备份。 两者都将从脚本创build表开始。 然后,您可以使用脚本表 – 插入选项,这将生成大量的插入语句,或者您可以使用集成服务(DTS with 2000)或类似的将数据导出为CSV或类似的。
BMC恢复pipe理器(以前称为SQLBacktrack)允许对数据库(又名表)中的单个对象进行时间点恢复。 这不便宜,但是做了一个奇妙的工作: http : //www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
如果您希望能够在有人错误地删除行之后恢复表格,则可以查看数据库快照。 您可以很容易地从快照中恢复表(或行的子集)。 请参阅http://msdn.microsoft.com/en-us/library/ms175158.aspx
一个名为SqlTableZip的免费应用程序将完成工作。 基本上,你写任何查询(当然也可以是[select * from table]),应用程序创build一个包含所有数据的压缩文件,以后可以恢复。
链接: http : //www.doccolabs.com/products_sqltablezip.html
Handy Backup自动生成MS SQL Server的转储文件,包括MSSQL 2005/2008。 这些转储是表级二进制文件,包含特定数据库内容的确切副本。
使用Handy Backup进行简单转储,请按照下面的说明操作:
- 安装Handy Backup并创build一个新的备份任务。
- select步骤2中的“MSSQL”作为数据源。 在新窗口中,标记要备份的数据库。
- 在您要存储备份的不同目的地中select。
- 在步骤4中,select“完整”备份选项。 如果你需要,build立一个时间戳。
- 跳过步骤5,除非您需要压缩或encryption生成的转储文件。
- 在第6步中,为任务定期创build日程安排(或者手动运行任务)。
- 再次,跳过第7步,在第8步给你的任务命名。你完成了任务!
现在通过点击名称前的图标来运行新的任务,或者等待预定的时间。 手持备份将自动为您的数据库创build一个转储。 然后打开您的备份目标。 你会发现你的MS SQL备份文件夹(或几个文件夹)。 任何这样的文件夹将包含一个表级转储文件,由一些压缩到一个ZIP中的二进制表和设置组成。
其他数据库
Handy Backup可以保存MySQL,MariaDB,PostgreSQL,Oracle,IBM DB2,Lotus Notes和任何具有ODBC驱动程序的通用SQL数据库的转储。 其中一些数据库需要额外的步骤来build立DBMS和手持备份之间的连接。
上述工具经常将SQL数据库转储为表级SQL命令序列,使这些文件可以随时用于需要的任何手动修改。