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

Откуда: Vilnius
Сообщений: 701
Добрый день,

Возможно или нет в функции партиции указать функцию. У меня не получается. BOL говорит: boundary_value is a constant expression that can reference variables. This includes user-defined type variables, or functions and user-defined functions.

Задача: данные старее 30 дней перекидывть на другую партицию.
9 янв 12, 12:41    [11873380]     Ответить | Цитировать Сообщить модератору
 Re: function in partition function  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
mos
Задача: данные старее 30 дней перекидывть на другую партицию.

Думаю более целесообразно будет использовать две таблицы текущая <30 дней и архивная >30 дней. Доступ ко всем данных через вьюху. Желательно кластерный индекс по полю дата. Что бы не блокировать операции вставки, изменения, удаления при условии что они будут происходить в в разных интервалах дат.
9 янв 12, 13:01    [11873487]     Ответить | Цитировать Сообщить модератору
 Re: function in partition function  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
mos
Возможно или нет в функции партиции указать функцию.
Можно.

mos
У меня не получается.
Как делаете?

create function dbo.MyDatetime30()
returns datetime
as
begin
return dateadd(dd, -30, getdate())
end
go
CREATE PARTITION FUNCTION myRangeDate (datetime)
AS RANGE LEFT FOR VALUES (dbo.MyDatetime30(), getdate());
go
9 янв 12, 13:02    [11873491]     Ответить | Цитировать Сообщить модератору
 Re: function in partition function  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
gds
mos
Задача: данные старее 30 дней перекидывть на другую партицию.

Думаю более целесообразно будет использовать две таблицы текущая <30 дней и архивная >30 дней.
+1

Задача не совсем для секционирования, хотя и его можно использовать.
9 янв 12, 13:03    [11873503]     Ответить | Цитировать Сообщить модератору
 Re: function in partition function  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gds
mos
Задача: данные старее 30 дней перекидывть на другую партицию.

Думаю более целесообразно будет использовать две таблицы текущая <30 дней и архивная >30 дней. Доступ ко всем данных через вьюху. Желательно кластерный индекс по полю дата. Что бы не блокировать операции вставки, изменения, удаления при условии что они будут происходить в в разных интервалах дат.

Забыл дописать. Переносить данные можно джобом один раз в день в момент наименьшей нагрузки.
9 янв 12, 13:03    [11873504]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить