Answers:
您不能使用该BACKUP DATABASE
命令来备份单个表,除非将有问题的表分配给它自己的表FILEGROUP
。
正如您所建议的,您可以做的是将表数据导出到CSV文件。现在,为了获取表的定义,您可以“脚本出” CREATE TABLE
脚本。
您可以在SQL Server Management Studio中执行以下操作:
右键单击数据库>任务>生成脚本
然后,您可以选择要编写脚本的表,还可以选择包括任何关联的对象,例如约束和索引。
为了与DATA
一起使用schema
,您必须Advanced
在set scripting options选项卡上进行选择,然后在GENERAL
部分中设置Types of data to script
selectSchema and Data
希望这会有所帮助,但如果您需要进一步的帮助,请随时直接与我联系。
Advanced
在set scripting options选项卡上进行选择,并在General部分中设置Types of data to script
select Schema 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的其他方法相比,它是可编写脚本的。
这是您需要的步骤。如果需要数据,则Step5很重要。在第2步中,您可以选择单个表。
EDIT堆栈的版本不太可读...这是全尺寸图片http://i.imgur.com/y6ZCL.jpg
这类似于qntmfred的解决方案,但使用直接表转储。此选项稍快一些(请参阅BCP docs):
出口:
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中,只需右键单击有问题的数据库,然后选择“ 任务”>“生成脚本”。然后,在选项向导的第二页中,确保也选择要编写脚本的数据,它将DUMP
为您生成相当于文件的文件。
您可以使用Microsoft提供的免费数据库发布向导来生成带有SQL脚本(CREATE TABLE和INSERT INTO)的文本文件。
您可以为单个表创建这样的文件,并且只需运行SQL脚本即可“还原”包括数据在内的完整表。
每个恢复模型都允许您备份整个或部分SQL Server数据库或数据库的单个文件或文件组。不能创建表级备份。
BMC恢复管理器(以前称为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的免费应用程序将完成任务。基本上,您编写任何查询(当然也可以是[从表中选择*]),然后该应用会创建一个包含所有数据的压缩文件,以后可以将其还原。
Handy Backup会自动从MS SQL Server(包括MSSQL 2005/2008)制作转储文件。这些转储是表级二进制文件,包含特定数据库内容的精确副本。
要使用Handy Backup进行简单的转储,请遵循以下说明:
现在,通过单击名称之前的图标来运行新任务,或等待计划的时间。Handy Backup将自动为您的数据库创建一个转储。然后打开您的备份目标。您会在MS SQL备份中找到一个文件夹(或几个文件夹)。任何此类文件夹都将包含一个表级转储文件,该文件由一些二进制表和设置压缩到一个ZIP中组成。
Handy Backup可以为MySQL,MariaDB,PostgreSQL,Oracle,IBM DB2,Lotus Notes和任何具有ODBC驱动程序的通用SQL数据库保存转储。其中一些数据库需要其他步骤才能在DBMS和Handy Backup之间建立连接。
上面描述的工具通常将SQL数据库作为表级SQL命令序列转储,使这些文件可用于您需要的任何手动修改。