2012-03-07 195 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' 

---------- 

現在拿這個表的備份