备份单表MS SQL SERVER

备份单表MS SQL SERVER

如何备份单个表并在需要时将其恢复。

我的意思是,我需要返回单个表以及与该表相关的所有索引、约束和数据。因为我想修改基表的一些数据,所以在对基表进行任何修改之前,我想进行备份。当我使用 select * into table2 from table1 where 1=1 给出表及其数据时,但是与该表相关的约束和索引没有出现。

答案1

您要么必须为其创建手动方法(存储过程或其他方法),要么购买第三方备份软件来进行对象级备份。SQL Server 本身不支持它。Quest 的 Litespeed(企业版)具有对象级备份。Redgate 的 SQL Backup 可能也支持,但我不太熟悉。

请注意,如果您愿意备份整个数据库(其中包括相关表以及所有索引、触发器、键等),则可以使用 SQL Server 的本机备份功能。您必须还原整个数据库才能恢复单个表,但它将保持备份时的状态。

答案2

导出:

bcp "[MyDatabase].dbo.Customer" out "Customer.bcp" -N -S ServerName -T -E -U"xxxxxx" -P"xxxxxxx"

导入:

bcp "[MyDatabase].dbo.Customer" in "Customer.bcp" -N -S ServerName -T -E -b 10000 -U"xxxxxx" -P"xxxxxxx"

答案3

您需要使用备份功能。在 SQL Server Management Studio 中定义维护计划,并将其配置为仅备份该数据库中的一个表。然后手动运行维护任务。

答案4

坦白说,我会采用 squillman 的方法。您可以将备份数据库恢复到新数据库并移植信息,因此这不是太大的限制。不用费很多力气或花很多钱,这可能是最好的办法。

或者就此而言,将表复制到新的数据库并备份。

相关内容