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.
Veriler , Bölümlenmiş Tablolar ve Dizinler tarafından sağlanan depolama algoritmaları kullanılarak depolanabilir. Bölümleme, büyük tabloların ve dizinlerin daha yönetilebilir ve ölçeklenebilir olmasını sağlayabilir.
Dizin ve Tablo Bölümleme
Bu özellik, dizin ve tablo verilerinin bölümler halinde birden çok dosya grubuna yayılmasını sağlar. Bölümleme işlevi, bir tablo veya dizinin satırlarının bölümleme sütunları olarak adlandırılan belirli sütunların değerlerine göre bir bölüm kümesine nasıl eşlendiği tanımlar. Bölüm düzeni, bölüm işlevi tarafından belirtilen her bölümü bir dosya grubuyla eşler. Bu, tabloların dosya grupları ve dolayısıyla fiziksel cihazlar arasında ölçeklendirilmesini sağlayan arşivleme stratejileri geliştirmenizi sağlar.
nesnesi, Database uygulanan bölüm işlevlerini temsil eden bir nesne koleksiyonu PartitionFunction ve verilerin dosya gruplarına nasıl eşlendiğini açıklayan bir nesne koleksiyonu PartitionScheme içerir.
Her Table ve Index nesnesi özelliğinde PartitionScheme hangi bölüm düzenini kullandığını belirtir ve içindeki PartitionSchemeParameterCollectionsütunları belirtir.
Example
Aşağıdaki kod örnekleri için, uygulamanızı oluşturmak için programlama ortamını, programlama şablonunu ve programlama dilini seçmeniz gerekir. Daha fazla bilgi için bkz. Visual Studio .NET'te Visual C# SMO Projesi Oluşturma.
Visual C'de Tablo için Bölüm Düzeni Ayarlama#
Kod örneği, AdventureWorks2025 örnek veritabanında tablo için bir bölüm fonksiyonu ve bölümleme şeması TransactionHistory nasıl oluşturulacağını gösterir. Bölümler, eski kayıtları tabloya ayırmak amacıyla tarihe TransactionHistoryArchive bölünür.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Reference the AdventureWorks2022 database.
Database db;
db = srv.Databases("AdventureWorks2022");
//Define and create three new file groups on the database.
FileGroup fg2;
fg2 = new FileGroup(db, "Second");
fg2.Create();
FileGroup fg3;
fg3 = new FileGroup(db, "Third");
fg3.Create();
FileGroup fg4;
fg4 = new FileGroup(db, "Fourth");
fg4.Create();
//Define a partition function by supplying the parent database and name arguments in the constructor.
PartitionFunction pf;
pf = new PartitionFunction(db, "TransHistPF");
//Add a partition function parameter that specifies the function uses a DateTime range type.
PartitionFunctionParameter pfp;
pfp = new PartitionFunctionParameter(pf, DataType.DateTime);
pf.PartitionFunctionParameters.Add(pfp);
//Specify the three dates that divide the data into four partitions.
object[] val;
val = new object[] {"1/1/2003", "1/1/2004", "1/1/2005"};
pf.RangeValues = val;
//Create the partition function.
pf.Create();
//Define a partition scheme by supplying the parent database and name arguments in the constructor.
PartitionScheme ps;
ps = new PartitionScheme(db, "TransHistPS");
//Specify the partition function and the filegroups required by the partition scheme.
ps.PartitionFunction = "TransHistPF";
ps.FileGroups.Add("PRIMARY");
ps.FileGroups.Add("second");
ps.FileGroups.Add("Third");
ps.FileGroups.Add("Fourth");
//Create the partition scheme.
ps.Create();
}
PowerShell'de Tablo için Bölüm Düzeni Ayarlama
Kod örneği, AdventureWorks2025 örnek veritabanında tablo için bir bölüm fonksiyonu ve bölümleme şeması TransactionHistory nasıl oluşturulacağını gösterir. Bölümler, eski kayıtları tabloya ayırmak amacıyla tarihe TransactionHistoryArchive bölünür.
# Set the path context to the local, default instance of SQL Server.
CD \sql\localhost\default
#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
$db = $srv.Databases["AdventureWorks"]
#Create four filegroups
$fg1 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "First"
$fg2 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "Second"
$fg3 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "Third"
$fg4 = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Filegroup -argumentlist $db, "Fourth"
#Define a partition function by supplying the parent database and name arguments in the constructor.
$pf = New-Object -TypeName Microsoft.SqlServer.Management.SMO.PartitionFunction -argumentlist $db, "TransHistPF"
$T = [Microsoft.SqlServer.Management.SMO.DataType]::DateTime
$T
$T.GetType()
#Add a partition function parameter that specifies the function uses a DateTime range type.
$pfp = New-Object -TypeName Microsoft.SqlServer.Management.SMO.PartitionFunctionParameter -argumentlist $pf, $T
#Specify the three dates that divide the data into four partitions.
#Create an array of type object to hold the partition data
$val = "1/1/2003"."1/1/2004","1/1/2005"
$pf.RangeValues = $val
$pf
#Create the partition function
$pf.Create()
#Create partition scheme
$ps = New-Object -TypeName Microsoft.SqlServer.Management.SMO.PartitionScheme -argumentlist $db, "TransHistPS"
$ps.PartitionFunction = "TransHistPF"
#add the filegroups to the scheme
$ps.FileGroups.Add("PRIMARY")
$ps.FileGroups.Add("Second")
$ps.FileGroups.Add("Third")
$ps.FileGroups.Add("Fourth")
#Create it at the server
$ps.Create()