PARTITION düzeni (Transact-sql) oluştur

Geçerli veritabanında bölümlenmiş tablo veya dizin bölümleri için filegroups eşleyen bir düzeni oluşturur. Sayısını ve etki alanı bölümlenmiş tablo veya dizin bölümlerinin bölüm işlevi içinde belirlenir. Bölüm işlevi önce oluşturulmalıdır bir create PARTITION FUNCTION önce bir bölüm düzeni oluşturma deyimi.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

CREATE PARTITION SCHEME partition_scheme_name
AS PARTITION partition_function_name
[ ALL ] TO ( { file_group_name | [ PRIMARY ] } [ ,...n ] )
[ ; ]

Bağımsız değişkenler

  • partition_scheme_name
    Bölüm düzeni adıdır. Bölüm düzeni adı veritabanı içinde benzersiz olmalı ve için olan kurallara uymak tanımlayıcıları.

  • partition_function_name
    Bölüm işlevi adı bölüm düzeni kullanıyor. Bölüm işlevi tarafından oluşturulan bölüm bölüm düzeni içinde belirtilen filegroups eşlenir. partition_function_namezaten veritabanında bulunması gerekir. Tek bir bölümü hem FILESTREAM hem de sigara FILESTREAM filegroups içeremez.

  • ALL
    Tüm bölümler için sağlanan filegroup göster belirtir file_group_name, veya birincil filegroup, birincil**[]** belirtilir. all belirtilirse, yalnızca bir file_group_namebelirtilebilir.

  • file_group_name| PRIMARY ,...n
    Belirtilen bölümleri tutmak için filegroups adlarını belirtir partition_function_name. file_group_namezaten veritabanında bulunması gerekir.

    Eğer birincil**[]** belirtilirse, Bölüm birincil filegroup üzerinde saklanır. all belirtilirse, yalnızca bir file_group_namebelirtilebilir. Bölümler, Bölüm 1, hangi filegroups listelenmiştir sırada başlayan filegroups, atanan ,...n. Aynı file_group_namebirden fazla kez belirtilebilir [,...n. Eğer nBelirtilen bölüm sayısını tutmak yeterli değil ise partition_function_name, create PARTITION düzeni bir hata ile başarısız.

    Eğer partition_function_nameüretir daha filegroups bölümleri, ilk atanmamış filegroup sonraki kullanılan işaretlenmiş ve bir bilgi iletisi görüntüler sonraki kullanılan filegroup adlandırma. all belirtilirse, tek file_group_namesonraki kullanılan özelliğine bu tutar partition_function_name. Tek bir alter PARTITION FUNCTION deyiminde oluşturulduktan sonraki kullanılan filegroup bir ek bölüm alırsınız. Yeni bölümleri tutmak için atanmamış ek filegroups oluşturma için alter PARTITION düzeni kullanın.

    Ne zaman sizin belirlediğiniz birincil filegroup file_group_name1**,...n, birincil olarak sınırlandırılmış olması gerekir birincil[]**, çünkü bir anahtar sözcüktür.

İzinler

Aşağıdaki izinleri create PARTITION düzeni yürütmek için kullanılabilir:

  • HIÇBIR dataspace alter izni. Bu izni üyeleri için varsayılan sysadmin sabit sunucu rolü ve db_owner ve db_ddladmin veritabanı rolleri sabit.

  • Denetim veya bölüm düzeni oluşturulmaktadır veritabanı üzerinde alter izni.

  • Bölüm düzeni oluşturulmaktadır veritabanının control server veya alter any database izni sunucu üzerinde.

Örnekler

A.Her bölüm farklı bir filegroup eşleştiren bir bölüm düzeni oluşturma

Aşağıdaki örnek, bir tablo veya dizin dört bölüm bölüm bölüm işlevi oluşturur. Bir bölüm düzeni her biri dört bölümden tutmak için filegroups belirten oluşturulur. Bu örnek filegroups veritabanında zaten varsayar.

CREATE PARTITION FUNCTION myRangePF1 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS1
AS PARTITION myRangePF1
TO (test1fg, test2fg, test3fg, test4fg);

CREATE PARTITION FUNCTION myRangePF1 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS1
AS PARTITION myRangePF1
TO (test1fg, test2fg, test3fg, test4fg);

Bölüm işlevini kullanan bir tablo myRangePF1bölümleme sütun col1 aşağıdaki tabloda gösterildiği gibi atanması.

Filegroup

test1fg

test2fg

test3fg

test4fg

Bölüm

1

2

3

4

Değerleri

col1 <=1

col1 > 1 AND col1 <=100

col1 > 100 AND col1 <=1000

col1 > 1000

B.Çoklu bölümleri aynı filegroup eşleştiren bir bölüm düzeni oluşturma

Tüm bölümleri aynı filegroup eşlerseniz, tüm anahtar sözcüğünü kullanın. Ancak birden çok, ama değil tüm bölümleri aynı filegroup, eşleştirilirse filegroup adı, aşağıdaki örnekte gösterildiği gibi tekrarlanmalıdır.

CREATE PARTITION FUNCTION myRangePF2 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS2
AS PARTITION myRangePF2
TO ( test1fg, test1fg, test1fg, test2fg );

CREATE PARTITION FUNCTION myRangePF2 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS2
AS PARTITION myRangePF2
TO ( test1fg, test1fg, test1fg, test2fg );

Bölüm işlevini kullanan bir tablo myRangePF2bölümleme sütun col1 aşağıdaki tabloda gösterildiği gibi atanması.

Filegroup

test1fg

test1fg

test1fg

test2fg

Bölüm

1

2

3

4

Değerleri

col1 <=1

col1 > 1 AND col1 <=100

col1 > 100 AND col1 <=1000

col1 > 1000

C.Tüm bölümleri aynı filegroup eşleştiren bir bölüm düzeni oluşturma

Aşağıdaki örnek, önceki örneklerde aynı bölüm işlev oluşturur ve tüm bölümleri aynı filegroup eşleştiren bir bölüm düzeni oluşturulur.

CREATE PARTITION FUNCTION myRangePF3 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS3
AS PARTITION myRangePF3
ALL TO ( test1fg );

CREATE PARTITION FUNCTION myRangePF3 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS3
AS PARTITION myRangePF3
ALL TO ( test1fg );

D.Bir 'sonraki kullanılan' belirtir bir bölüm düzeni oluşturma filegroup

Aşağıdaki örnek, önceki örneklerde aynı bölüm işlev oluşturur ve ilişkili bölüm işlevi tarafından oluşturulan bölüm sayısından daha fazla filegroups listeleyen bir bölüm düzeni oluşturulur.

CREATE PARTITION FUNCTION myRangePF4 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS4
AS PARTITION myRangePF4
TO (test1fg, test2fg, test3fg, test4fg, test5fg)

CREATE PARTITION FUNCTION myRangePF4 (int)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS4
AS PARTITION myRangePF4
TO (test1fg, test2fg, test3fg, test4fg, test5fg)

Deyimi yürütme aşağıdaki iletiyi döndürür.

Partition scheme 'myRangePS4' has been created successfully. 'test5fg' is marked as the next used filegroup in partition scheme 'myRangePS4'.

Partition scheme 'myRangePS4' has been created successfully. 'test5fg' is marked as the next used filegroup in partition scheme 'myRangePS4'.

Eğer bölüm işlevi myRangePF4bir bölümü, filegroup eklemek için değişti test5fgYeni oluşturulan bölüm alır.

Ayrıca bkz.

Başvuru

PARTITION FUNCTION (Transact-sql) oluştur

alter PARTITION düzeni (Transact-sql)

drop PARTITION düzeni (Transact-sql)

eventdata (Transact-sql)

sys.partition_schemes (Transact-sql)

sys.data_spaces (Transact-sql)

sys.data_spacessys.destination_data_spaces (Transact-sql)

sys.Partitions (Transact-sql)

sys.Tables (Transact-sql)

sys.indexes (Transact-sql)

index_columns (Transact-sql)

Kavramlar

Bölümlenmiş tablolar ve dizinler oluşturma