Разделение базы данных SQL Server - PullRequest
4 голосов
/ 08 января 2009

Я использую SQL Server 2008. Моя база данных имеет размер почти 2 ГБ. 90% из них - это одна таблица (согласно sp_spaceused), которая мне не нужна для большей части моей работы.

Мне было интересно, можно ли взять эту таблицу и сохранить ее в отдельном файле, что позволяет мне передавать важные данные чаще, чем эта.

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

Однако мне было интересно, есть ли у вас какие-либо указатели на разные стратегии, о которых я могу не знать в данный момент.

Ответы [ 2 ]

12 голосов
/ 08 января 2009

Создать таблицу в другой FileGroup .

Вот ссылка с некоторыми хорошими примерами.

Это создает второй физический файл только для этой таблицы. Он может быть размещен на другом физическом диске для повышения производительности. Вы можете делать резервные копии или восстанавливать только определенные файловые группы, как вам кажется.

Это один из примеров более широкой темы «Разделение данных», которая включает различные методы разделения больших таблиц между несколькими файлами.

1 голос
/ 08 января 2009

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

SELECT * INTO MyNewDatabase..MyTable FROM MyOldDatabase..MyTable
...