Если я разделю таблицу, могу ли я заменить файл на раздел без указания SQL Server? - PullRequest
1 голос
/ 05 марта 2010

Я хотел бы иметь возможность поменять один раздел таблицы на другой, просто заменив partitionN.ndf перед запуском сервера.

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

Сценарий A

<b>ID     Game         Strategy</b>
1      Squash       Stick to the T
2      Racketball   Drop it at the back
3      Tennis       Serve to the backhand
1000   Croquet      The key is to be really mean
1001   Billiards    Glare a lot

Сценарий B

<b>ID     Game         Strategy</b>
1      Squash       Stick to the T
2      Racketball   Drop it at the back
3      Tennis       Serve to the backhand
1000   Baseball     Favour third
1002   Pool         Snooker them, be irritating

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

Будет ли это работать? Или мне нужно будет выполнить команду разделения на сервер, чтобы заменить ее во время работы сервера? Я полагаю, что часть вопроса заключается в следующем: сервер просто запускается и читает файлы, или он поддерживает кэши и другие вещи, которые могут быть чувствительными к замене?

1 Ответ

1 голос
/ 05 марта 2010

Я не думаю, что это будет работать вообще. Файл представляет собой гораздо более сложную структуру, чем отдельная таблица (gam, sgam, pfs, страницы заголовков файлов), так как секционированная таблица имеет идентификатор HoBT для каждого раздела в таблице, и ваш новый файл не будет иметь такой же идентификатор HoBT для IAM и т. д.

Редактировать:

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

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

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

Если вам требовалось физическое разделение фиксированной и переменной частей значений, то при необходимости вы можете использовать подход представления позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...