sql >> Databáze >  >> RDS >> Sqlserver

Archivace velkého množství starých dat na SQL Server

Když řeknete archivovat, znamená to „potřeba uchovat data pro pozdější použití“.

Mimo jiné, pokud data nejsou nyní k dispozici, riskujete jejich ztrátu, pokud se spoléháte na zálohování na pásku. Také potřebujete místo na disku, abyste jej mohli v budoucnu obnovit.

To samozřejmě nejsou nepřekonatelné problémy, ale pokud věci nejsou kritické, nechal bych data online, dokud se neprokáže opak. Moje zkušenost ukazuje, že lidé chtějí archivovaná data, když to nejméně čekáte...

Jedna možnost (otázka je označena SQL Server 2008) je komprese dat . Můžete komprimovat archivní tabulky, které jsou například online.

Chcete-li vytvořit archivní tabulku.

SELECT * INTO ANewArchiveTable
FROM CurrentTable
WHERE SomeDateColumn <= DATEADD(year, -2, GETDATE())

Nebo použijte rozdělení na oddíly dosáhnout stejného

Pokud jsou data online, můžete "aktuální" tabulku dále zmenšit a mít data starší než například 3 měsíce v komprimované archivní tabulce/oddílu




  1. Je COUNT(rowid) rychlejší než COUNT(*)?

  2. Podmíněný agregační dotaz se skupinou podle

  3. Jak přidat ovládací prvek vyhledávání do formuláře v Accessu 2016

  4. Úvod do SQL indexů