CREATE PARTITION SCHEME (Transact-SQL)

Tworzy schemat w bieżącej bazie danych, który jest mapowany filegroups partycji tabela partycjonowana lub indeks.Numer i domena partycji tabela partycjonowana lub indeksu, są określane w funkcja partycji.Najpierw należy utworzyć funkcja partycji w TWORZENIE funkcja PARTYCJI instrukcja przed utworzeniem schemat partycji.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • partition_scheme_name
    Jest nazwą schemat partycji.Nazwy schemat partycji musi być unikatowa w bazie danych i są zgodne z zasadami identyfikatory.

  • partition_function_name
    Jest to nazwa partycji używanie funkcja schemat partycji.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.Jednej partycji nie może zawierać zarówno FILESTREAM i innych niż FILESTREAM filegroups.

  • ALL
    Specifies that all partitions map to the filegroup provided in file_group_name, or to the primary filegroup if [PRIMARY] is specified.Jeżeli określono ALL, tylko jeden file_group_name może być określony.

  • 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.Jeżeli określono ALL, tylko jeden file_group_name może być określony. 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.

    Jeśli partition_function_name generuje partycje mniejsze niż filegroups pierwszego Nieprzydzielona grupa plików jest oznaczony jako używany NEXT i wyświetla komunikat informacyjny nazw używany NEXT grupa plików. Jeżeli określono ALL, jedyny file_group_name przechowuje właściwość NEXT używany dla tej partition_function_name. grupa plików używany NEXT, otrzyma dodatkowe partycji, jeśli jednego jest tworzona w ALTER funkcja partycji instrukcja.Aby utworzyć dodatkowe filegroups nieprzypisane do przechowywania nowych partycji, należy użyć ALTER schemat partycji.

    Po określeniu podstawowego grupa plików w file_group_name1**,**... n], PRIMARY must be delimited, as in [PRIMARY], because it is a keyword.

Uprawnienia

Następujące uprawnienia umożliwiają wykonać CREATE schemat partycji:

  • ALTER DATASPACE bez uprawnień.To uprawnienie domyślnie członkowie sysadmin Rola serwera i db_owner and db_ddladmin stałe role bazy danych.

  • Uprawnienie Kontrola lub ALTER do bazy danych, w którym utworzony schemat partycji.

  • CONTROL SERVER lub ALTER DATABASE bez uprawnień na serwerze bazy danych, w którym utworzony schemat partycji.

Przykłady

A.Tworzenie schemat partycji, każdej partycji jest mapowany na inną grupa plików

Poniższy przykład tworzy funkcja partycji, aby podzielić tabela lub indeks do czterech partycji.Schemat partycji zostanie utworzona, określająca filegroups do utrzymywania każdej z czterech partycji.W tym przykładzie przyjęto założenie, filegroups już istnieje w bazie danych.

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

Partycje o tabela, która używa funkcja partycjonowanie myRangePF1 na kolumna partycjonowania Col1 może być przypisane, jak pokazano w poniższej tabela.

Grupa plików

test1fg

test2fg

test3fg

test4fg

Partycji

1

2

3

4

Values

col1 <= 1

col1 > 1 AND col1 <= 100

col1 > 100 AND col1 <= 1000

col1 > 1000

B.Tworzenie schemat partycji, który jest mapowany na grupa plików, w tym samym wiele partycji

Jeśli wszystkie partycje mapować do tego samego grupa plików, należy użyć słowa kluczowego ALL.Ale jeśli wiele, ale nie wszystkie partycje są mapowane na tym samym grupa plików, należy powtórzyć nazwy grupa plików, jak pokazano w poniższym przykładzie.

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

Partycje o tabela, która używa funkcja partycjonowanie myRangePF2 na kolumna partycjonowania Col1 może być przypisane, jak pokazano w poniższej tabela.

Grupa plików

test1fg

test1fg

test1fg

test2fg

Partycji

1

2

3

4

Values

col1 <= 1

col1 > 1 AND col1 <= 100

col1 > 100 AND col1 <= 1000

col1 > 1000

C.Tworzenie schemat partycji, mapuje wszystkie partycje na grupa plików, w tym samym

Poniższy przykład tworzy tę samą funkcja partycji, tak jak w poprzednich przykładach i tworzona jest schemat partycji, która mapuje wszystkie partycje na grupę tych samych plików.

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.Tworzenie schematu partycji określa grupa plików 'NEXT używany „

Poniższy przykład tworzy tę samą funkcja partycji, tak jak w poprzednich przykładach i tworzona jest schemat partycji, która zawiera listę filegroups więcej niż partycje utworzone za pomocą funkcja skojarzone partycji.

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)

Wykonując instrukcję zwraca następujący komunikat o błędzie.

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

Jeśli funkcja partition myRangePF4 zmienia się na dodawanie partycji, grupa plików test5fg odbiera nowo utworzonej partycji.