Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите по секционированным таблицам.  [new]
Eugene.ev
Member

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

Вот собственно вопрос.
Есть два типа к примеру Карта и бумага мне необходимо создать два файла на разных жостких дисках Cards2009 и Paper2009 объединить их в одну файловую группу под названием 2009. На данную файловую группу я создаю секционированную таблицу или просто таблицу.

Вопрос в следующем каким образом мне совершить запись данных Карта в файловую группу Cards2009 и данных по бумаге в файловую группу Paper2009.

С этим я немного не разобрался, буду признателен за помощь.
1 дек 09, 10:54    [8000685]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Eugene.ev

Вопрос в следующем каким образом мне совершить запись данных Карта в файловую группу Cards2009 и данных по бумаге в файловую группу Paper2009.

Данные по файлам одной файловой группы сервер распределяет сам.
BOL - Using Files and Filegroups
1 дек 09, 10:58    [8000727]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Glory,

Да с этим я и столкнулся, а что нет возможности распределить данные в разные файловые группы в ручную?
1 дек 09, 10:59    [8000734]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Eugene.ev
Glory,

Да с этим я и столкнулся, а что нет возможности распределить данные в разные файловые группы в ручную?

Хм. А откуда у вас разные то файловые группы, если "объединить их в одну файловую группу под названием 2009" ?
1 дек 09, 11:01    [8000745]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Glory,

Сори неправильно ответил.
Я столкнулся с тем что sql server самостоятельно распределяет данные по разным файлам которые входят в состав одной файловой группы.
1 дек 09, 11:03    [8000764]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Eugene.ev
Glory,

Сори неправильно ответил.
Я столкнулся с тем что sql server самостоятельно распределяет данные по разным файлам которые входят в состав одной файловой группы.

Да. Именно так он и делает. О чем и написано в документации.
1 дек 09, 11:08    [8000804]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Glory,
Тогда понятно. Жаль конечно спасибо за консультацию.
1 дек 09, 11:10    [8000823]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
-=DiM@n=-
Member

Откуда: Москва
Сообщений: 1564
заведите 2 файловых группы и будем вам счастье
1 дек 09, 11:53    [8001151]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Резрешите влезть в разговор умных дядек :)

Мне вот интересно, возможно ли секционировать dbo.[Orders] и dbo.[OrderDetails] несоздавая в ДОЧЕРНЕЙ таиблице дополнительного поля с датой , o.OrderDate, которое по сути в запросе взято с родительской таблицы


INSERT dbo.[OrderDetails]
      SELECT      od.PurchaseOrderID
                  , od.LineNumber
                  , od.ProductID
                  , od.UnitPrice
                  , od.OrderQty
                  , od.ReceivedQty
                  , od.RejectedQty
                  , o.OrderDate
                  , od.DueDate
                  , od.ModifiedDate
      FROM AdventureWorks.Purchasing.PurchaseOrderDetail AS od
            JOIN AdventureWorks.Purchasing.PurchaseOrderHeader AS o
                        ON o.PurchaseOrderID = od.PurchaseOrderID
            WHERE (o.[OrderDate] >= '20021001' 
              AND  o.[OrderDate]  < '20041001')
GO

мне это чисто из любопытства )
А то вдруг там не то что 2 таблицы будут, а больше. По сути существует ли какое-то хитрое правило секционирования для дочерней таблицы?
1 дек 09, 19:48    [8004924]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
И исчо )
я понимаю что можно зморочится на написание DML операторов на создание секций новыйх каждый месяц, а как это делается правильно, что бы для каждого нового месяца была секция?!
Я, конечно, понимаю что их и заранее можно много создать, но это только для ДАТ.

Я понмю что у меня база была и родителей верхнего уровня что-то в районе 50ти было, но далее дочерних записей - тьма. По сути запрос выполнялся в пределах одного корневого (верхнего уровня) родителя всегда.
1 дек 09, 19:52    [8004936]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по секционированным таблицам.  [new]
mike909
Member

Откуда:
Сообщений: 662
NIIIK
И исчо )
я понимаю что можно зморочится на написание DML операторов на создание секций новыйх каждый месяц, а как это делается правильно, что бы для каждого нового месяца была секция?!
Я, конечно, понимаю что их и заранее можно много создать, но это только для ДАТ.

И кто Вас так сильно напугал ?
Функции секционирования можно создать по любым типам данных для которых выполняется операции сравнения (больше, меньше).
А для успешного решения вопроса о добавлении новой секции необходимо и достаточно написать UDF, которая вычислит следующую границу функции секционирования и вернет результат через SQL_Variant.

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

NIIIK

Я понмю что у меня база была и родителей верхнего уровня что-то в районе 50ти было, но далее дочерних записей - тьма. По сути запрос выполнялся в пределах одного корневого (верхнего уровня) родителя всегда.

Управление данными идет на уровне таблиц и/или индексов и важно лишь следовать хорошо описанным в BOL_е правилам.
2 дек 09, 10:00    [8006230]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить