|
|
#1 |
|
Участник
|
Сделать копию partition
в 2012 R2 появилась функция partition, которая по сути позволяет создать несколько инсталяций в одной.
Решал ли кто нибудь вопрос с дубрированием partition. типа берем текущий, и делаем его копию.(в одной и той же БД) Какие подходы использовали? Может есть какие стандартные фукнции для этого |
|
|
|
|
#2 |
|
Участник
|
маза на T-SQL процедурку написать по-быстрому
таблички только надо как-то отфильтровать для дубляжа |
|
|
|
|
#3 |
|
Участник
|
На T-SQL процедурку по быстрому не напишешь: в 2012 во всех таблицах индекс теперь только по полю RecId, а не RecId+DataAreaId как было в 2009. В 2012 логично было бы сделать индекс RecId+Partition, но почему-то сделали индекс только по полю RecId.
Поэтому надо заморачиваться с корректным выделением RecId. |
|
|
|
| За это сообщение автора поблагодарили: trud (3). | |
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
| За это сообщение автора поблагодарили: Logger (3). | |
|
|
#7 |
|
Участник
|
Кроме индекса по RecId
Написать можно все что угодно. Откройте SQL и посмотрите.Вообще я так понимаю основная проблема даже не с выделением RecId, а скорее с сохранением ссылок между данными, ведь в DAX2012 очень много связей по RecId.
__________________
Sergey Nefedov |
|
|
|
|
#8 |
|
Участник
|
Цитата:
я эту проблему решил по аналогии как сделано в стандартном импорте из dat файла. Там еще с версии 2.5 была возможность сохранять ссылки по RecId в импортируемых данных. |
|
|
|
|
#9 |
|
Участник
|
да действительно, походу для новых таблиц (те, что в 2012 созданы, а не пришли из других версий) только RecId в индексе
|
|
|
|
|
#10 |
|
Участник
|
Не только для новых таблиц. Например, CustTable.
Да запоминать ссылки по RecId хорошо, главное чтобы не было каких нибудь полей с типом RefRecId\RecId(либо вообще без него) без релейшенов. Если partion, например только для тестовых целей и на какое то время, то можно например от значений всех полей типом int64 отнять какое нибудь большое число, чтобы заведомо результат перешел куда-нибудь в отрицательный диапазон, чтобы подольше не вспоминать.
__________________
Sergey Nefedov |
|
|
|
|
#11 |
|
Участник
|
Цитата:
Сообщение от SRF
Не только для новых таблиц. Например, CustTable.
Да запоминать ссылки по RecId хорошо, главное чтобы не было каких нибудь полей с типом RefRecId\RecId(либо вообще без него) без релейшенов. Если partion, например только для тестовых целей и на какое то время, то можно например от значений всех полей типом int64 отнять какое нибудь большое число, чтобы заведомо результат перешел куда-нибудь в отрицательный диапазон, чтобы подольше не вспоминать. там просто ко всем значениям полей на базе RecId, RefRecId прибавляется одно и тоже число главное правильно вычислить это число
|
|
|
|
| За это сообщение автора поблагодарили: SRF (1). | |
|
|
#12 |
|
Участник
|
Вот же, не раз возникали споры по поводу искусственных и естественных идентификаторов.
Придумали искусственные связи, теперь сиди и думай как сделать что-то, что раньше делалось простыми стандартными импортами. Зато привели структуру в одну из стандартных форм теории реляционных баз. Круто - полный программизм. |
|
|
|
|
#13 |
|
Участник
|
В принципе никто не мешает воспользоваться функцией импорта данных в партишн - msdn, но это наверняка не очень быстрый процесс. Единственно, что данные можно загрузить при первой инициализации, но это я думаю можно обойти, придется скорее всего удалить соответствующую запись в табличке SysSetupPartitionLog
__________________
Sergey Nefedov |
|
|
| Теги |
| partition |
|
|
|