Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Geçerli veritabanında, bölümlenmiş tablo veya dizinin bölümlerini bir veya daha fazla dosya grubuyla eşleyen bir düzen oluşturur. Bir tablo veya dizinin satırlarını bölümlere eşleyen değerler, bölüm işlevinde belirtilir. Bölüm şeması oluşturmadan önce bir bölüm işlevi CREATE PARTITION FUNCTION deyiminde oluşturulmalıdır.
Not
Azure SQL Veritabanı'nda yalnızca birincil dosya grupları desteklenir.
Transact-SQL söz dizimi 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şken
partition_scheme_name
Bölüm düzeninin adı. Bölüm düzeni adları veritabanında benzersiz olmalı ve
partition_function_name
Bölüm düzenini kullanan bölüm işlevinin adı. Bölüm işlevi tarafından oluşturulan bölümler, bölüm düzeninde belirtilen dosya gruplarına eşlenir. partition_function_name veritabanında zaten mevcut olmalıdır. Tek bir bölüm hem FILESTREAM hem de FILESTREAM olmayan dosya gruplarını içeremez.
TÜM
Tüm bölümlerin file_group_nameiçinde sağlanan dosya grubuyla veya [PRIMARY]
belirtilirse birincil dosya grubuyla eşlendiğini belirtir.
ALL
belirtilirse, yalnızca bir file_group_name belirtilebilir.
file_group_name | [ BİRİnCİl ] [ , ...n ]
partition_function_nametarafından belirtilen bölümleri tutmak için dosya gruplarının adlarını belirtir. file_group_name veritabanında zaten var olmalıdır.
[PRIMARY]
belirtilirse, bölüm birincil dosya grubunda depolanır.
ALL
belirtilirse, yalnızca bir file_group_name belirtilebilir. Bölümler, bölüm 1'den başlayarak dosya gruplarına, dosya gruplarının [, ...<n>]
içinde listelendiği sırayla atanır. aynı file_group_name[, ...<n>]
içinde birden fazla kez belirtilebilir.
npartition_function_nameiçinde belirtilen bölüm sayısını tutmak için yeterli değilse CREATE PARTITION SCHEME
hatayla başarısız olur.
partition_function_name dosya gruplarından daha az bölüm oluşturursa, atanmamış ilk dosya grubu NEXT USED
olarak işaretlenir ve NEXT USED
dosya grubunu adlandıran bir bilgi iletisi görüntülenir.
ALL
belirtilirse, tek file_group_name bu NEXT USED
için özelliğini korur.
NEXT USED
dosya grubu, bir ALTER PARTITION FUNCTION
deyiminde oluşturulduysa ek bir bölüm alır. Yeni bölümleri tutmak üzere atanmamış daha fazla dosya grubu oluşturmak için ALTER PARTITION SCHEME
kullanın.
birincil dosya grubunu <file_group_name> [, ...<n>]
içinde belirttiğinizde, anahtar sözcük olduğundan PRIMARY
[PRIMARY]
gibi sınırlandırılmalıdır.
SQL Veritabanı için yalnızca PRIMARY
desteklenir. Bkz. örnek E.
İzinler
CREATE PARTITION SCHEME
yürütmek için aşağıdaki izinler kullanılabilir:
ALTER ANY DATASPACE
izni. Bu izin varsayılan olarak sysadmin sabit sunucu rolünün üyeleriyle db_owner ve sabit veritabanı rollerini db_ddladmin.Bölüm düzeninin oluşturulduğu veritabanında
CONTROL
veyaALTER
izni.Bölüm düzeninin oluşturulduğu veritabanının sunucusunda
CONTROL SERVER
veyaALTER ANY DATABASE
izni.
Örnekler
A. Her bölümü farklı bir dosya grubuna eşleyen bir bölüm düzeni oluşturma
Aşağıdaki örnek, bir tabloyu veya dizini dört bölüme bölmek için bir bölüm işlevi oluşturur. Ardından, dört bölümden her birini barındıracak dosya gruplarını belirten bir bölüm düzeni oluşturulur. Bu örnekte dosya gruplarının veritabanında zaten var olduğu 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ümleme sütunu myRangePF1
bölümleme işlevi col1
kullanan bir tablonun bölümleri aşağıdaki tabloda gösterildiği gibi atanabilir.
Dosya Grubu | Bölüm | Değer |
---|---|---|
test1fg |
1 |
col1
<= 1 |
test2fg |
2 |
col1
>
1 AND col1 <= 100 |
test3fg |
3 |
col1
>
100 AND col1 <= 1000 |
test4fg |
4 | col1 > 1000 |
B. Birden çok bölümü aynı dosya grubuna eşleyen bir bölüm düzeni oluşturma
Tüm bölümler aynı dosya grubuyla eşlenmişse ALL
anahtar sözcüğünü kullanın. Ancak bölümlerin tümü değil de birden çok sayıda olması durumunda, aşağıdaki örnekte gösterildiği gibi dosya grubu adı 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ümleme sütunu myRangePF2
bölümleme işlevi col1
kullanan bir tablonun bölümleri aşağıdaki tabloda gösterildiği gibi atanabilir.
Dosya Grubu | Bölüm | Değer |
---|---|---|
test1fg |
1 |
col1
<= 1 |
test1fg |
2 |
col1
>
1 AND col1 <= 100 |
test1fg |
3 |
col1
>
100 AND col1 <= 1000 |
test2fg |
4 | col1 > 1000 |
C. Tüm bölümleri aynı dosya grubuna eşleyen bir bölüm düzeni oluşturma
Aşağıdaki örnek, önceki örneklerle aynı bölüm işlevini oluşturur ve tüm bölümleri aynı dosya grubuna eşleyen 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);
D. NEXT USED dosya grubunu belirten bir bölüm düzeni oluşturma
Aşağıdaki örnek, önceki örneklerde olduğu gibi aynı bölüm işlevini oluşturur. Ayrıca, ilişkili bölüm işlevi tarafından oluşturulan bölümlerden daha fazla dosya grubunu listeleyen bir bölüm düzeni oluşturur.
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ütülürken aşağıdaki ileti döndürülür.
Partition scheme 'myRangePS4' has been created successfully. 'test5fg' is marked as the next used filegroup in partition scheme 'myRangePS4'.
Bölüm işlevi myRangePF4
bölüm eklemek için değiştirilirse, dosya grubu test5fg
yeni oluşturulan bölümü alır.
E. Yalnızca BİRİnCİl'de bölüm düzeni oluşturma
Azure SQL Veritabanı'nda dosya ve dosya grupları ekleme desteklenmez, ancak tablo bölümleme yalnızca PRIMARY
dosya grubu genelinde bölümlenerek desteklenir.
Aşağıdaki örnek, bir tabloyu veya dizini dört bölüme bölmek için bir bölüm işlevi oluşturur. Ardından, tüm bölümlerin PRIMARY
dosya grubunda oluşturulduğunu belirten bir bölüm düzeni oluşturulur.
CREATE PARTITION FUNCTION myRangePF1(INT)
AS RANGE LEFT FOR VALUES (1, 100, 1000);
GO
CREATE PARTITION SCHEME myRangePS1
AS PARTITION myRangePF1
ALL TO ([PRIMARY]);
İlgili içerik
- CREATE PARTITION FUNCTION (Transact-SQL)
- Bölümlenmiş tabloları ve dizinleri
- bölüm işlevini değiştirme
- Bölüm düzenini değiştirme
- sys.partition_functions (Transact-SQL)
- sys.partition_schemes (Transact-SQL)