Tablo ve dizin bölümleme kullanma
Veriler tarafından sağlanan depolama algoritmaları kullanılarak depolanabilir. Bölümlenmiş tablolar ve dizinler. Bölümleme büyük tablolar ve dizinler daha kolay yönetilebilir ve daha ölçeklenebilir hale getirebilirsiniz.
Dizin ve tablo bölümleme
Özellik üzerinde birden çok dosya gruplarını bölümlerdeki yaymak dizin ve tablo verileri sağlar.bölümleme işlevi için bir tablo ya da dizin satırlarının nasıl eşleştirildikleri tanımlayan bir küme belirli sütunları değerlere göre bölümlerini sütunları bölümleme olarak başvurulan.Bir bölümleme düzeni, her bölüm, bölüm işlev için bir dosya grubu tarafından belirtilen eşleştirir.Bu, dosya gruplarını ve bu nedenle, fiziksel aygıtları üzerinden ölçeklendirilecektir tabloları arşivleme stratejileri geliştirmenize olanak sağlar.
The Database object contains a koleksiyon of PartitionFunction objects that represent the implemented partition functions and a koleksiyon of PartitionScheme objects that describe how data is mapped to file groups.
Her Table ve Index nesne üzerinde hangi bölümün kullandığı, Düzen belirtir PartitionScheme özellik ve sütunlarda PartitionSchemeParameterCollection.
Örnek
Aşağıdaki kod örneği, programlama ortamında seçmek şablon ve programlama dili uygulama oluşturmak için programlama gerekir.Daha fazla bilgi için bkz: Nasıl Yapılır: Visual Studio. NET'te bir Visual Basic SMO projesi oluşturma ve Nasıl Yapılır: Visual Studio. NET'te bir Visual C# SMO Proje oluşturma.
Visual Basic'te bir tablo için bir bölümleme düzeni ayarlama
Kod örneği, bölümleme işlevi ve bir bölümleme düzeni oluşturmak gösterilmiştir TransactionHistory tablo in the AdventureWorks örnek veritabanı.Bölümler ile amacıyla nin eski kayıtlara dışında ayırma tarihe göre ayrılır TransactionHistoryArchive tablo.
Bir bölümleme düzeni bir Tablosu'nda Visual C# için ayarlama
Kod örneği, bölümleme işlevi ve bir bölümleme düzeni oluşturmak gösterilmiştir TransactionHistory tablo in the AdventureWorks örnek veritabanı.Bölümler ile amacıyla nin eski kayıtlara dışında ayırma tarihe göre ayrılır TransactionHistoryArchive tablo.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Reference the AdventureWorks database.
Database db;
db = srv.Databases("AdventureWorks");
//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();
}