Aracılığıyla paylaş


PARTITION DÜZENI (Transact-SQL) oluşturma

Geçerli veritabanındaki bir bölümlenmiş tablo ya da dizin bölümleri için dosya gruplarını eşleyen bir düzeni oluşturur.Sayısı ve bölümlenmiş tablo ya da dizin bölümleri etki alanı içinde belirlenen bir bölümleme işlevi.bölümleme işlevi önce oluşturulmalıdır bir BÖLÜM FONKSİYONU OLUŞTURMA ekstresi önce bir bölümleme düzeni oluşturma.

Topic link iconTransact-SQL sözdizimi kuralları

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ümleme düzeni adıdır.bölümleme düzeni adı veritabanı içinde benzersiz olması ve için kurallarıyla uyumlu tanımlayıcılar.

  • partition_function_name
    Bölüm işlevini kullanarak, adı bölümleme düzeni.Partitions created by the partition function are mapped to the filegroups specified in the partition scheme.partition_function_name must already exist in the database.Tek BIR bölüm FILESTREAM hem olmayan FILESTREAM dosya gruplarını bulunamaz.

  • ALL
    Specifies that all partitions map to the filegroup provided in file_group_name, or to the primary filegroup if [PRIMARY] is specified.ALL belirtildiğinde, yalnızca bir file_group_name belirtilebilir.

  • file_group_name | [ PRIMARY ] [ ,...n]
    Specifies the names of the filegroups to hold the partitions specified by partition_function_name.file_group_name must already exist in the database.

    If [PRIMARY] is specified, the partition is stored on the primary filegroup.ALL belirtildiğinde, yalnızca bir file_group_name belirtilebilir. Partitions are assigned to filegroups, starting with partition 1, in the order in which the filegroups are listed in [,... n].The same file_group_name can be specified more than one time in [,... n].If n is not sufficient to hold the number of partitions specified in partition_function_name, CREATE PARTITION SCHEME fails with an error.

    If partition_function_name oluşturur küçük dosya grupları bölümlerini ilk atanmamış dosya grubu, NEXT'i KULLANıLAN işaretlendi ve NEXT KULLANıLAN dosya grubu adlandırma bir bilgi iletisi görüntüler. ALL belirtildiğinde sole file_group_name NEXT KULLANıLAN özellik, bu tutar partition_function_name. Biri bir ALTER oluşturulursa, NEXT KULLANıLAN dosya grubu ek bir bölümünü alırsınız bölümleme işlevi deyim.Yeni bölüm tutulacağı atanmamış ek dosya gruplarını oluşturmak için , ALTER kullanın bölümleme düzeni.

    Birincil dosya grubu, belirttiğiniz file_group_name1**,**... n], PRIMARY must be delimited, as in [PRIMARY], because it is a keyword.

İzinler

Aşağıdaki izinlerden CREATE yürütmek için kullanılan bölümleme düzeni:

  • ALTER ANY DATASPACE izindir.Bu izin, üyeleri için varsayılan sysadmin sabit sunucu rolü ve db_owner and db_ddladmin veritabanı rollerini sabit.

  • bölümleme düzeni oluşturulduğu veritabanındaki DENETIM veya ALTER izindir.

  • Sunucu CONTROL SERVER'ı veya ALTER ANY DATABASE iznine veritabanının bir bölümleme düzeni oluşturulmaktadır.

Örnekler

C.Her bölüm için farklı bir dosya grubu eşleştiren bir bölümleme düzeni oluşturma

Aşağıdaki örnek oluşturur bir bölümleme işlev bir tablo ya da dizin dört bölüme bölümlemek için.Bir bölümleme düzeni dört bölüm her biri tutulacağı dosya gruplarını belirten sonra oluşturulur.Bu örnek, veritabanında zaten dosya gruplarını 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);

Kullanan bir tablo bölümlerini bölümleme işlevi myRangePF1 bölümleme sütun hakkında col1 , aşağıdaki tabloda gösterildiği gibi atanmış olması.

Dosya grubu

test1fg

test2fg

test3fg

test4fg

Bölüm

1

2

3

4

Values

col1 <= 1

col1 > 1 AND col1 <= 100

col1 > 100 AND col1 <= 1000

col1 > 1000

b.Birden çok bölüm için aynı dosya grubu eşleştiren bir bölümleme düzeni oluşturma

Tüm bölümler için aynı dosya grubu eşleme, TÜM anahtar sözcüğünü kullanın.Ancak birden çok, ancak olmayan tüm bölümleri aynı dosya grubu için eşleştirilirse dosya grubu adı, aşağıdaki örnekte gösterildiği gibi yinelenmesi gerekir.

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 );

Kullanan bir tablo bölümlerini bölümleme işlevi myRangePF2 bölümleme sütun hakkında col1 , aşağıdaki tabloda gösterildiği gibi atanmış olması.

Dosya grubu

test1fg

test1fg

test1fg

test2fg

Bölüm

1

2

3

4

Values

col1 <= 1

col1 > 1 AND col1 <= 100

col1 > 100 AND col1 <= 1000

col1 > 1000

c.Tüm bölümler için aynı dosya grubu eşleştiren bir bölümleme düzeni oluşturma

Aşağıdaki örnek, aynı oluşturur bölümleme işlev önceki örnek ve bir bölümü olarak tüm bölümler için aynı dosya grubu eşleyen düzenin.

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 bölümleme düzeni oluşturma 'NEXT KULLANıLAN' dosya grubu belirtir.

Aşağıdaki örnek, önceki örnekte olduğu gibi aynı bölüm işlev oluşturur ve ilişkilendirilmiş bölümleme işlevi kullanılarak oluşturulan disk bölümleri sayısından daha fazla dosya gruplarını listeleyen bir bölümleme 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)

Deyim 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'.

Varsa işlev bölüm myRangePF4 bir bölümü dosya grubu eklemek için değişti test5fg Yeni oluşturulan bölüm alır.