Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли создать секционированную таблицу без указания функции секционирования? / 14 сообщений из 14, страница 1 из 1
22.03.2018, 13:21
    #39618866
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
Можно ли как-то создать таблицу, разделенную на секции, но без указания функции секционирования?

Предыстория следующая:
Имеется n баз данных (их наполняет оборудование, но это не важно в данный момент), которые необходимо слить воедино.
Значения в таблицах в этих базах по ключам - не пересекаются (везде гуиды), поэтому относительно легко их можно конкатенировать в одну таблицу.
Хотелось вы подгружать данные каждой отдельной базы в отсоединенные секции, а потом включать в общую таблицу (для каждой таблицы, соответственно), но, к сожалению, в таблицах нет ничего такого, что можно было бы использовать как ключ в функции секционирования.
Т.е. я знаю, какие данные в какую секцию я собираюсь грузить просто на основе того, какому аппарату принадлежит обрабатываемая база. Но внутри таблиц этой информации - нет ни в каком виде.

Можно ли как-нибудь вывернутся?
Можно как-нибудь определить такую таблицу?

Можно, конечно просто создать некие "теневые" таблицы куда складывать данные, и объединить их Union All в виртуальную, но хотелось бы всё-таки, иметь "настоящую" таблицу.

Наверное, это невозможно, т.к. при этом еще и непонятно, как индексы выравнивать?

Созданная база будет использоваться только на чтение, а весь этот цирк нужен для того, чтобы пользоваться уже разработанным приложением с системой отчетов.
...
Рейтинг: 0 / 0
22.03.2018, 13:28
    #39618870
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggster,

может, стоит попробовать слепить функцию секционирования на основании даты загрузки? (добавить дефолтное поле LoadDate GETDATE())
...
Рейтинг: 0 / 0
22.03.2018, 13:29
    #39618872
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggster,

ну и сделайте ключём источник
...
Рейтинг: 0 / 0
22.03.2018, 13:38
    #39618878
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
xenixuaggster,

может, стоит попробовать слепить функцию секционирования на основании даты загрузки? (добавить дефолтное поле LoadDate GETDATE())
Нет, это невозможно.
Там вся фишка в том, что не смотря, что таблицы должны использоваться целиком, грузить их хочется частями.
Т.е. настало время выгрузки данных от аппарата - забрал его базу, рассадил по секциям, задвинул секции в таблицы.
Если при загрузке данных где то произошел сбой - ничего не стал задвигать для всех таблиц.
Если сбой произошел в процессе обмена секциями - быстренько задвинул старые секции обратно.

Там правда еще задача, как блокировать набор таблиц в процессе свитча секций, что б туда не лазили, вырисовывается, так что, может быть, игра и не стоит свеч.
(Т.е. хотелось бы заблокировать набор таблиц эксклюзивно, быстро поменять в этих таблицах нужные секции, разблокировать весь набор. Если в процессе обмена секциями что-то сломалось - откатиться назад, например, вставить уже обменянные секции назад).
...
Рейтинг: 0 / 0
22.03.2018, 13:40
    #39618880
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
TaPaKuaggster,

ну и сделайте ключём источник
Как? Не понимаю.
Не могу добавить в целевые таблицы поля. Приложение, имать его за ногу, ломается.
А иначе б вопроса не было - добавил бы в каждую таблицу по номеру агрегата, и по нему б секционировал.
...
Рейтинг: 0 / 0
22.03.2018, 13:43
    #39618884
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggsterTaPaKuaggster,

ну и сделайте ключём источник
Как? Не понимаю.
Не могу добавить в целевые таблицы поля. Приложение, имать его за ногу, ломается.
А иначе б вопроса не было - добавил бы в каждую таблицу по номеру агрегата, и по нему б секционировал.
подсуньте приложению предаставление
...
Рейтинг: 0 / 0
22.03.2018, 13:48
    #39618887
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
TaPaKuaggsterпропущено...

Как? Не понимаю.
Не могу добавить в целевые таблицы поля. Приложение, имать его за ногу, ломается.
А иначе б вопроса не было - добавил бы в каждую таблицу по номеру агрегата, и по нему б секционировал.
подсуньте приложению предаставление
Да, это была первая идея.
Но, похоже, оно тоже не прокатывает (по крайней мере, предыдущие товарищи этого не сделали). Видимо, эта сволочь предварительно проверяет наличие именно таблиц.
Т.е. там не защита, просто индусский код такой.
...
Рейтинг: 0 / 0
22.03.2018, 14:33
    #39618908
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggster,

выкиньте гуиды при слиянии. Замените на bigint.
...
Рейтинг: 0 / 0
22.03.2018, 14:48
    #39618921
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
Владислав Колосовuaggster,

выкиньте гуиды при слиянии. Замените на bigint.
как это не смешно, но если это просто таблицы без FC (зачем тогда вообще там GUID) то сменить тип, для разных баз выставить старт и на основании этого собирать секции, ну если конечно приложение незаскучает по типу :)
...
Рейтинг: 0 / 0
22.03.2018, 15:55
    #39619000
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggsterМожно, конечно просто создать некие "теневые" таблицы куда складывать данные, и объединить их Union All в виртуальную, но хотелось бы всё-таки, иметь "настоящую" таблицу.По моему, оптимально, секционированные представления ничем не хуже секционированной таблицы.
А то действительно непонятно, как секционировать.

uaggsterTaPaKподсуньте приложению предаставление
Да, это была первая идея.
Но, похоже, оно тоже не прокатывает (по крайней мере, предыдущие товарищи этого не сделали).Пробовали, или просто думаете, что нельзя?
...
Рейтинг: 0 / 0
22.03.2018, 18:31
    #39619106
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
Ну хотя бы добавить столбец-нумератор с диапазоном для каждой базы.
...
Рейтинг: 0 / 0
23.03.2018, 12:17
    #39619405
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
alexeyvguaggsterМожно, конечно просто создать некие "теневые" таблицы куда складывать данные, и объединить их Union All в виртуальную, но хотелось бы всё-таки, иметь "настоящую" таблицу.По моему, оптимально, секционированные представления ничем не хуже секционированной таблицы.
А то действительно непонятно, как секционировать.

uaggsterпропущено...

Да, это была первая идея.
Но, похоже, оно тоже не прокатывает (по крайней мере, предыдущие товарищи этого не сделали).Пробовали, или просто думаете, что нельзя?
Ага. Вот уже попробовал.
Падает.
Действительно нужна таблица. Эта гадость (я про приложение) - проверяет наличие некоторых таблиц, и если не находит (именно таблиц) - отказывается работать.

Ненавижу разработчиков, которые шлют запросы из кода. То же самое, что канализационную трубу в стену ванной заштукатурить и красиво плиточкой заложить.
... ремонтируй-не хочу.
...
Рейтинг: 0 / 0
23.03.2018, 12:44
    #39619424
iiyama
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
uaggster,

можно попробывать сделать одноименную табл в другой схеме .
...
Рейтинг: 0 / 0
26.03.2018, 08:15
    #39620302
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать секционированную таблицу без указания функции секционирования?
iiyamauaggster,

можно попробывать сделать одноименную табл в другой схеме .
И что это даст?
Индус умный, он про схемы в курсе.

Блин, ну ведь именно для этого view и придуманы. Стрелять криворуких.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли создать секционированную таблицу без указания функции секционирования? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]