2012-03-07 157 views
2

我有一张包含1000万条记录的表格。其中有一个名为YEAR的列,我可以通过它来追踪记录是在哪一年。可以采用备份(。 bak)只有2年像2010 & 2011只。Sql server 2008中的备份

回答

0

我不相信这是可能的。备份将备份所有对象和数据的完整数据库。

一种选择是创建一个带有1个表的新数据库,然后将一个脚本写入到INSERT中。然后备份这个新的数据库。

INSERT INTO [NewDB].dbo.tbl (Value1, Value2, Year) 
SELECT Value1, Value2, Year 
FROM [OldDB].dbo.tbl 
WHERE Year IN (2010, 2011) 
4

如果你的表是通过date列进行了分区,并且您分配个人filegroups每个Year每个分区,那么你可以使用一个partial backup。否则,SQL Server不具备此功能。

如果分区是一个选项,这里是关于分区表和索引的概念有很大White Paper。另外,请查看关于Creating Partitioned Tables and Indexes的MSDN文章。

有些选项是:

  • bcp
  • 数据将数据插入到新表,在一个新的数据库,然后备份新的数据库。
1
create table table2(column1 varchar(50),column2 date) 

insert into table2(column1,column2) 
select column1,column2 from table1 
where table1.column2='2010' or table1.column2='2011' 

---------- 

现在拿这个表的备份