Przy użyciu tabela i partycjonowanie indeksu
Dane mogą być przechowywane przy użyciu algorytmów pamięci masowej, dostarczone przez Tabele podzielonym na partycje i indeksów. partycjonowanie mogą być dużych tabel i indeksów w zarządzaniu i bardziej skalowalne.
Indeks i Partycjonowanie tabel
Ta funkcja umożliwia indeksu i tabela danych jest umieszczonych na kilka grup plików na partycjach.Funkcja partycjonowanie definiuje, jak wiersze tabela lub indeks są mapowane na zestaw partycjonowanie, na podstawie wartości niektórych kolumn, określane jako podział kolumny.Schemat partycji mapuje każdej partycji, określony za pomocą funkcja partycji do grupy plików.Pozwala to na opracowanie strategii archiwizacji, umożliwiające tabele, które mają być skalowane różnych grup plików i w związku z tym fizycznego urządzenia.
The Database object contains a kolekcja of PartitionFunction objects that represent the implemented partition functions and a kolekcja of PartitionScheme objects that describe how data is mapped to file groups.
Każdy Table i Index obiekt Określa, które partycji systemu używa w PartitionScheme Właściwość i określa, w kolumnach PartitionSchemeParameterCollection.
Przykład
W poniższym przykładzie należy wybrać środowisko programowania Programowanie szablonu i język programowania, aby utworzyć aplikację.Aby uzyskać więcej informacji zobacz Jak Tworzenie obiektów SMO projektu Visual Basic w programie Visual Studio .NET i Jak Tworzenie projektu programu Visual C# obiekty SMO w programie Visual Studio .NET.
Definiowanie schemat partycji dla tabela w programie Visual Basic
W przykładzie kodu pokazano, jak utworzyć funkcja partycji oraz schemat partycji TransactionHistory tabelaAdventureWorks przykładowej bazy danych.Partycje są podzielone według data z zamiarem oddzielanie poza starych rekordów do TransactionHistoryArchive tabela.
Definiowanie schemat partycji dla tabela w środowisku Visual C#
W przykładzie kodu pokazano, jak utworzyć funkcja partycji oraz schemat partycji TransactionHistory tabelaAdventureWorks przykładowej bazy danych.Partycje są podzielone według data z zamiarem oddzielanie poza starych rekordów do TransactionHistoryArchive tabela.
{
//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();
}