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

Откуда: Москва / Калуга
Сообщений: 35853
Блог
Можно ли как-то определить, по какому столбцу секционирована таблица/индекс?
версия: 2012

Пример (тут нужно найти, что секционирование по столбцу "Дата"):
use tempdb
go

CREATE PARTITION FUNCTION [X](smalldatetime) AS RANGE RIGHT FOR VALUES (N'20111001', N'20111101', N'20111201')
go
CREATE PARTITION SCHEME [X] AS PARTITION [X] ALL TO ([PRIMARY])
go
CREATE TABLE [dbo].[тест](
	[Дата] [smalldatetime] NOT NULL,
    [Текст] char(10) NULL
) ON [X]([Дата])
go
create index idx1 on [тест] ([Дата]) 
24 фев 13, 01:06    [13972073]     Ответить | Цитировать Сообщить модератору
 Re: Найти столбец секционирования  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
select
 ic.index_id, i.name, sc.name, ic.partition_ordinal
from
 sys.index_columns ic join
 sys.indexes i on i.index_id = ic.index_id and i.object_id = ic.object_id join
 sys.columns sc on sc.object_id = ic.object_id and sc.column_id = ic.column_id
where
 ic.object_id = object_id('dbo.тест', 'U') and
 ic.partition_ordinal > 0
order by
 ic.index_id, ic.partition_ordinal;
24 фев 13, 10:39    [13972376]     Ответить | Цитировать Сообщить модератору
 Re: Найти столбец секционирования  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35853
Блог
invm,

спасибо!
24 фев 13, 11:27    [13972441]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить