Obecnie mamy problemy z wydajnością, ponieważ nasza baza danych staje się zbyt duża. Są dane przechowywane z ostatnich 10 lat i nie widzę powodu, dla którego dane starsze niż 2 lata muszą być przechowywane w tych samych tabelach, co nowe dane.
Ponieważ nie mam dużego doświadczenia w administrowaniu bazami danych, szukam najlepszych sposobów archiwizacji starych danych.
Informacje
Baza danych zawiera łącznie około 310 000 000 rekordów.
Baza danych potrzebuje 250 GB na dysku twardym.
- Wersja serwera to SQL Server 2008 z poziomem kompatybilności SQL Server 2005 (90), ale planujemy wkrótce uaktualnić do SQL Server 2012
Myślałem o dwóch możliwościach:
Nowa baza danych
Utwórz bazę danych podobną do tej na serwerze produkcyjnym i wstaw wszystkie stare dane do nowej bazy danych.
- Wada: Ponieważ połączone serwery nie są dozwolone w naszym środowisku, w razie potrzeby trudno byłoby dołączyć do starych danych
Schemat historyczny
Utwórz nowy schemat fe [hist] z tymi samymi tabelami, co w produkcyjnej bazie danych. Wstaw wszystkie stare dane do tych nowych tabel w nowym schemacie.
- Zaleta: Łatwe łączenie, jeśli w przyszłości potrzebne będą stare dane
- Czy wolisz jedno z rozwiązań niż drugie?
- Czemu?
- Czy są jakieś lepsze możliwości?
- Czy istnieją istniejące narzędzia, dzięki którym to zadanie jest łatwo możliwe?
- Jakieś inne myśli?
Z góry dziękuję
Edytować
Dodatkowe pytanie:
Czy nowo utworzona tabela archiwum będzie również potrzebować kluczy podstawowych / obcych?
A może powinny mieć tylko kolumny, ale bez kluczy / ograniczeń?