Как эффективно заархивировать старые части большой (несколько ГБ) базы данных SQL Server?

Прямо сейчас я работаю над решением для архивирования старых данных из большой рабочей базы данных в отдельную архивную базу данных с той же схемой. Я перемещаю данные с помощью сценариев SQL и объектов управления SQL Server (SMO) из исполняемого файла .Net, написанного на C#.

Архивные данные должны быть доступными и даже (иногда) изменяемыми, мы просто хотим, чтобы они не мешали работе базы данных и работали быстро.

Перетаскивание больших объемов данных и управление отношениями между таблицами оказалось довольно сложной задачей.

Интересно, есть ли лучший способ архивировать данные с помощью SQL Server.

Есть идеи?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
5
0
282
3

Ответы 3

Я думаю, если вы все еще хотите / нуждаетесь в том, чтобы данные были доступны, то можно было бы разделить некоторые из ваших самых больших или наиболее часто используемых таблиц.

Да, используйте разделение таблиц и индексов с файловыми группами.

Вам даже не нужно изменять операторы select, только если вы хотите получить от результата последнюю биту скорости.

Другим вариантом может быть балансировка нагрузки с двумя серверами и двусторонняя репликация между ними.

Мы находимся в похожей ситуации. По нормативным причинам мы не можем удалять данные в течение определенного периода времени, но многие из наших таблиц становятся очень большими и громоздкими, и реально большая часть данных старше одного месяца может быть удалена с некоторыми повседневными проблемами.

В настоящее время мы программно сокращаем таблицы, используя настраиваемое комбинированное приложение .NET / оболочки с использованием BCP для резервного копирования файлов, которые можно заархивировать и оставить в недоступном сетевом ресурсе. Это не особенно доступно, но занимает меньше места. (Это усложняется тем, что нам нужно сохранять определенные исторические даты, а не иметь возможность усекать до определенного размера или с ключевыми полями в определенных диапазонах.)

Мы изучаем альтернативы, но, к моему удивлению, в этом обсуждении не так много лучших практик!

Другие вопросы по теме