Aracılığıyla paylaş


BÖLÜM düzeni (Transact-SQL) oluşturma

Geçerli veritabanındaki bölümlenmiş tablo veya dizin bölümleri için filegroups eşleyen bir düzeni oluşturur.Bir bölüm işlevsayısını ve etki alanı bölümlenmiş tablo veya dizin bölümlerinin belirlenir.Bölüm işlev önce oluşturulmalıdır bir Bölüm işlevi oluşturmakbir bölümleme düzenioluşturmadan öncedeyim .

Konu bağlantısı simgesiTransact-SQL sözdizimi 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ümleme düzeniadıdır.Bölüm düzeni adı veritabanı içinde benzersiz olması ve kurallarına uymanız tanımlayıcıları.

  • partition_function_name
    Bölüm işlev adı bölümleme düzenikullanıyor.Bölüm işlev tarafından oluşturulan bölümlere bölümleme düzeniiçinde belirtilen filegroups eşlenir.partition_function_nameveritabanında bulunması gerekir.Tek bir bölüm FILESTREAM ve FILESTREAM 5. içeremez.

  • ALL
    Tüm bölümler sağlanan dosya grubu eşleme belirtir file_group_name, veya birincil dosya grubu , birincil**[]** belirtilir.all belirtildiğinde yalnızca bir file_group_name belirtilebilir.

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

    Birincil**[]** belirtilmişse, bölüm birincil dosya grubudepolanan.all belirtildiğinde yalnızca bir file_group_name belirtilebilir.Bölümleri için bölüm 1 ' içinde 5. listelenen sırayla başlayarak filegroups atanan ,...n.Aynı file_group_name olabilir daha fazla saat belirtilen [,...n.n Basılı olarak belirtilmiş bölüm sayısı yeterli partition_function_name, bölüm düzeni oluşturma başarısız olan bir hata.

    partition_function_name Oluşturduğu küçük bölümlerini filegroups'den sonraki kullanılan dosya grubu ilk atanmamış işaretlenmiş ve bir bilgi iletisi görüntüler sonraki kullanılan dosya grubuadlandırma.all belirtildiğinde tek file_group_name korur Bunun sonraki kullanılan özellik partition_function_name.SONRAKİ kullanılan dosya grubu alter bölüm işlev deyimiçinde oluşturulan ek bir bölüm alırsınız.Yeni bölümleri tutmak için atanmamış ek dosya grupları oluşturmak için alter bölüm DÜZENİNİ kullanın.

    İçinde birincil dosya grubu belirlediğinizde file_group_name1**,...n, birincil gerekir, gibi sınırlı birincil[]**, çünkü bir anahtar sözcüktür.

İzinler

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

  • alter any dataspace izni.Bu izin, üyeleri için varsayılan sysadmin sabit sunucu rolü ve db_owner ve db_ddladmin veritabanı rolleri sabit.

  • bölümleme düzeni oluşturulmaktadır veritabanı control veya alter izni.

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

Örnekler

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

Aşağıdaki örnek, bir tablo ya da dizin dört bölüme bölüm için bir bölüm işlev oluşturur.bölümleme düzeni her biri dört bölüm tutmak için filegroups belirten sonra oluşturulur.Bu örnekte, dosya gruplarını veritabanında zaten varsayılır.

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 bölüm işlevkullanan bir tablomyRangePF1 bölümlemesütun col1 aşağıdaki tablogösterildiği gibi atanması.

Dosya grubu

test1fg

test2fg

test3fg

test4fg

Bölüm

1

2

3

4

Değerler

col1 <=1

col1 > 1 AND col1 <=100

col1 > 100 AND col1 <=1000

col1 > 1000

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

Tüm bölümler için aynı dosya grubueşleştirirseniz tüm anahtar sözcüğünü kullanın.Ancak birden çok, ancak değil tüm bölümleri aynı dosya grubuiçin eşleştirilirse dosya grubu adı, aşağıdaki örnekte gösterildiği gibi yinelenmelidir.

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 bölüm işlevkullanan bir tablomyRangePF2 bölümlemesütun col1 aşağıdaki tablogösterildiği gibi atanması.

Dosya grubu

test1fg

test1fg

test1fg

test2fg

Bölüm

1

2

3

4

Değerler

col1 <=1

col1 > 1 AND col1 <=100

col1 > 100 AND col1 <=1000

col1 > 1000

C.Tüm bölümler için aynı dosya grubueşleştiren bölümleme düzeni oluşturma

Aşağıdaki örnek, önceki örneklerde aynı bölüm işlev oluşturur ve tüm bölümler için aynı dosya grubueşleştiren bir bölümleme 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 );

D.Bir 'sonraki kullanılan' bölümleme düzeni oluşturma belirtir dosya grubu

Aşağıdaki örnek, önceki örneklerde aynı bölüm işlev oluşturur ve ilişkili bölüm işlevtarafından oluşturulan bölümlere sayısından daha fazla filegroups 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 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şlevpartitionmyRangePF4 bir bölüm dosya grubuekleme değişti test5fg aldığı yeni oluşturulan bölüm.