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

Откуда:
Сообщений: 6
Помогите плиз разобраться новичку...
Работаю с SQL Server 2008

нужно создать таблицу с партициями
CREATE PARTITION SCHEME [PS_FACT_PCMD_ARCHIVE]
AS PARTITION [PF_FACT_PCMD_ARCHIVE] TO
([PRIMARY],
[FG_ARCHIVE_CG_Date_FACT_PCMD_ARCHIVE_20090424101],
[FG_ARCHIVE_CG_Date_FACT_PCMD_ARCHIVE_20090424111],
[FG_ARCHIVE_CG_Date_FACT_PCMD_ARCHIVE_20090424121])
GO


У меня выскакивает ошибка
Msg 208, Level 16, State 58, Line 1
Invalid object name 'FG_ARCHIVE_CG_Date_FACT_PCMD_ARCHIVE_20090424101'.
19 май 09, 14:24    [7198400]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А такая файловая группа есть?
19 май 09, 14:30    [7198459]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
Aleksandr_83
Member

Откуда:
Сообщений: 6
А можете подсказать как создавать эти файловые группы?
19 май 09, 14:59    [7198701]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Aleksandr_83
А можете подсказать как создавать эти файловые группы?
Самое простое - через свойства БД.
19 май 09, 15:01    [7198712]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Открывайте BOL и читайте ALTER DATABASE File and Filegroup Options (Transact-SQL) ( ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/1f635762-f7aa-4241-9b7a-b51b22292b07.htm )

И вообще, можно там же почитать, что это такое, и зачем оно нужно.
19 май 09, 15:03    [7198729]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: CREATE PARTITION SCHEME  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Здравствуйте.
Выполнил
	CREATE PARTITION FUNCTION myRangeFunc (smalldatetime)
	AS RANGE RIGHT FOR VALUES (
							dbo.MyMonth(-11), dbo.MyMonth(-10),	dbo.MyMonth(-9),
							dbo.MyMonth(-8), dbo.MyMonth(-7), dbo.MyMonth(-6),
							dbo.MyMonth(-5), dbo.MyMonth(-4), dbo.MyMonth(-3),
							dbo.MyMonth(-2), dbo.MyMonth(-1), dbo.MyMonth(0));

Затем
	CREATE PARTITION SCHEME myRangeScheme
	AS PARTITION myRangeFunc
	ALL TO ( 'PRIMARY' );

На что получил
Недопустимое имя объекта "myRangeFunc".

Не подскажете, что я не так делаю?)
20 фев 12, 13:57    [12122519]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
smoyk
Здравствуйте.
Выполнил
	CREATE PARTITION FUNCTION myRangeFunc (smalldatetime)
	AS RANGE RIGHT FOR VALUES (
							dbo.MyMonth(-11), dbo.MyMonth(-10),	dbo.MyMonth(-9),
							dbo.MyMonth(-8), dbo.MyMonth(-7), dbo.MyMonth(-6),
							dbo.MyMonth(-5), dbo.MyMonth(-4), dbo.MyMonth(-3),
							dbo.MyMonth(-2), dbo.MyMonth(-1), dbo.MyMonth(0));


Затем
	CREATE PARTITION SCHEME myRangeScheme
	AS PARTITION myRangeFunc
	ALL TO ( 'PRIMARY' );


На что получил
Недопустимое имя объекта "myRangeFunc".

Не подскажете, что я не так делаю?)
Наверное, имя базы перепутали при создании или что то в этом роде. Должно работать.
Или запускаете одним батчем.
20 фев 12, 15:15    [12123354]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
А какой смысл такой ф-ции партиционирования, если не секрет? Неужели ваши запросы в WHERE используют что-то типа
WHERE partition_field = dbo.MyMonth(-11)

или
WHERE partition_field BETWEEN dbo.MyMonth(-11) and dbo.MyMonth(-9)
20 фев 12, 16:54    [12124684]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
MyMonth не при чем
Guest
Богдан Гоцкий
А какой смысл такой ф-ции партиционирования, если не секрет? Неужели ваши запросы в WHERE используют что-то типа
WHERE partition_field = dbo.MyMonth(-11)

или
WHERE partition_field BETWEEN dbo.MyMonth(-11) and dbo.MyMonth(-9)


а при чем здесь MyMonth?

ее результатом является smalldatetime (ну или значение которое к нему неявно приведется) и именно оно сохранится в качестве range_value, и любой запрос по диапазону дат будет обращаться только к нужным секциям таблиц.
20 фев 12, 17:38    [12125308]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Богдан Гоцкий
или
WHERE partition_field BETWEEN dbo.MyMonth(-11) and dbo.MyMonth(-9)
Да, такое используют.

Не понял в чем была ошибка, но запустил не последовательно, а вместе, и схема создана.
21 фев 12, 05:42    [12127190]     Ответить | Цитировать Сообщить модератору
 Re: CREATE PARTITION SCHEME  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
smoyk
Богдан Гоцкий
или
WHERE partition_field BETWEEN dbo.MyMonth(-11) and dbo.MyMonth(-9)

Да, такое используют.

Не понял в чем была ошибка, но запустил не последовательно, а вместе, и схема создана.
Ошибка будет, если запустить вместе, и без GO между ними

У меня ваш код всё нормально создал при последовательном запуске
21 фев 12, 11:02    [12128212]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить