Erstellen partitionierter Tabellen und IndizesCreate Partitioned Tables and Indexes

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL DatabaseAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database

Sie können in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mit SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLeine partitionierte Tabelle oder einen Index erstellen.You can create a partitioned table or index in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Die Daten in partitionierten Tabellen und Indizes werden horizontal in Einheiten aufgeteilt, die über mehrere Dateigruppen in einer Datenbank verteilt werden können.The data in partitioned tables and indexes is horizontally divided into units that can be spread across more than one filegroup in a database. Die Partitionierung kann bewirken, dass sich große Tabellen und Indizes besser verwalten und skalieren lassen.Partitioning can make large tables and indexes more manageable and scalable.

Das Erstellen einer partitionierten Tabelle oder eines Indexes erfolgt in der Regel in vier Teilen:Creating a partitioned table or index typically happens in four parts:

  1. Erstellen Sie eine Dateigruppe oder Dateigruppen und entsprechende Dateien, die die vom Partitionsschema angegebenen Partitionen enthalten.Create a filegroup or filegroups and corresponding files that will hold the partitions specified by the partition scheme.

  2. Erstellen Sie eine Partitionsfunktion, die die Zeilen einer Tabelle oder eines Indexes Partitionen zuordnet. Dies erfolgt auf Grundlage der Werte einer angegebenen Spalte.Create a partition function that maps the rows of a table or index into partitions based on the values of a specified column.

  3. Erstellen Sie ein Partitionsschema, das die Partitionen einer partitionierten Tabelle oder eines partitionierten Indexes den neuen Dateigruppen zuordnet.Create a partition scheme that maps the partitions of a partitioned table or index to the new filegroups.

  4. Erstellen oder ändern Sie eine Tabelle oder einen Index, und geben Sie das Partitionsschema als Speicherort an.Create or modify a table or index and specify the partition scheme as the storage location.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Der Bereich einer Partitionsfunktion und eines Schemas ist auf die Datenbank beschränkt, in der er erstellt wurde.The scope of a partition function and scheme is limited to the database in which they have been created. Innerhalb der Datenbank befinden sich Partitionsfunktionen in einem von anderen Funktionen abgetrennten Namespace.Within the database, partition functions reside in a separate namespace from other functions.

  • Wenn beliebige Zeilen innerhalb einer Partitionsfunktion Partitionierungsspalten mit NULL-Werten aufweisen, werden diese Zeilen der am weitesten links stehenden Partition zugeordnet.If any rows within a partition function have partitioning columns with null values, these rows are allocated to the left-most partition. Jedoch wenn NULL als Begrenzungswert sowie RIGHT angegeben werden, bleibt die am weitesten links stehende Partition leer, und die NULL-Werte werden in der zweiten Partition eingefügt.However, if NULL is specified as a boundary value and RIGHT is indicated, the left-most partition remains empty and NULL values are placed in the second partition.

SicherheitSecurity

BerechtigungenPermissions

Zum Erstellen einer partitionierten Tabelle sind die CREATE TABLE-Berechtigung für die Datenbank und die ALTER-Berechtigung für das Schema erforderlich, in dem die Tabelle erstellt wird.Creating a partitioned table requires CREATE TABLE permission in the database and ALTER permission on the schema in which the table is being created. Das Erstellen eines partitionierten Indexes erfordert die ALTER-Berechtigung für die Tabelle oder Sicht, in der der Index erstellt wird.Creating a partitioned index requires ALTER permission on the table or view where the index is being created. Das Erstellen einer partitionierten Tabelle oder eines partitionierten Indexes erfordert eine der folgenden zusätzlichen Berechtigungen:Creating either a partitioned table or index requires any one of the following additional permissions:

  • ALTER ANY DATASPACE-Berechtigung.ALTER ANY DATASPACE permission. Diese Berechtigung gilt standardmäßig für Mitglieder der festen Serverrolle sysadmin und für Mitglieder der festen Datenbankrollen db_owner und db_ddladmin .This permission defaults to members of the sysadmin fixed server role and the db_owner and db_ddladmin fixed database roles.

  • CONTROL- oder ALTER-Berechtigung für die Datenbank, in der die Partitionsfunktion und das Partitionsschema erstellt werden.CONTROL or ALTER permission on the database in which the partition function and partition scheme are being created.

  • CONTROL SERVER- oder ALTER ANY DATABASE-Berechtigung für den Server der Datenbank, in der die Partitionsfunktion und das Partitionsschema erstellt werden.CONTROL SERVER or ALTER ANY DATABASE permission on the server of the database in which the partition function and partition scheme are being created.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

Führen Sie die Schritte in dieser Prozedur aus, um mindestens eine Dateigruppe, entsprechende Dateien und eine Tabelle zu erstellen.Follow the steps in this procedure to create one or more filegroups, corresponding files, and a table. Sie versehen diese Objekte in der nächsten Prozedur mit Verweisen, wenn Sie die partitionierte Tabelle erstellen.You will reference these objects in the next procedure when you create the partitioned table.

So erstellen Sie neue Dateigruppen für eine partitionierte TabelleTo create new filegroups for a partitioned table

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank, in der Sie eine partitionierte Tabelle erstellen möchten und wählen Sie Eigenschaften aus.In Object Explorer, right-click the database in which you want to create a partitioned table and select Properties.

  2. Klicken Sie im Dialogfeld Datenbankeigenschaften - database_name unter Seite auswählen auf die Option Dateigruppen.In the Database Properties - database_name dialog box, under Select a page, select Filegroups.

  3. Klicken Sie unter Zeilen auf Hinzufügen.Under Rows, click Add. Geben Sie in der neuen Zeile den Dateigruppennamen ein.In the new row, enter the filegroup name.

    Warnung

    Zusätzlich zu der Anzahl der für die Begrenzungswerte angegebenen Dateigruppen müssen Sie beim Erstellen von Partitionen stets über eine weitere Dateigruppe verfügen.You must always have one extra filegroup in addition to the number of filegroups specified for the boundary values when you are creating partitions.

  4. Fügen Sie weiterhin Zeilen hinzu, bis Sie alle Dateigruppen für die partitionierte Tabelle erstellt haben.Continue adding rows until you have created all of the filegroups for the partitioned table.

  5. Klicken Sie auf OK.Click OK.

  6. Wählen Sie unter Seite auswählen die Option Dateien aus.Under Select a page, select Files.

  7. Klicken Sie unter Zeilen auf Hinzufügen.Under Rows, click Add. Geben Sie in der neuen Zeile einen Dateinamen ein, und wählen Sie eine Dateigruppe aus.In the new row, enter a filename and select a filegroup.

  8. Fügen Sie weiter Zeilen hinzu, bis Sie mindestens eine Datei für jede Dateigruppe erstellt haben.Continue adding rows until you have created at least one file for each filegroup.

  9. Erweitern Sie den Ordner Tabellen , und erstellen Sie eine Tabelle.Expand the Tables folder and create a table as you normally would. Weitere Informationen finden Sie unter Verbindungsserver (Datenbank-Engine).For more information, see Create Tables (Database Engine). Alternativ können Sie in der nächsten Prozedur eine vorhandene Tabelle angeben.Alternatively, you can specify an existing table in the next procedure.

So erstellen Sie eine partitionierte TabelleTo create a partitioned table

  1. Klicken Sie mit der rechten Maustaste auf die Tabelle, die Sie partitionieren möchten, zeigen Sie auf Speicher, und klicken Sie dann auf Partition erstellen....Right-click the table that you wish to partition, point to Storage, and then click Create Partition....

  2. Klicken Sie im Assistent zum Erstellen von Partitionen auf der Seite Willkommen beim Assistenten zum Erstellen von Partitionen auf Weiter.In the Create Partition Wizard, on the Welcome to the Create Partition Wizard page, click Next.

  3. Wählen Sie auf der Seite Partitionierungsspalte auswählen im Raster Verfügbare Partitionierungsspalten die Spalte aus, an der Sie die Tabelle partitionieren möchten.On the Select a Partitioning Column page, in the Available partitioning columns grid, select the column on which you want to partition your table. Im Raster Verfügbare Partitionierungsspalten werden nur Spalten mit Datentypen angezeigt, die zum Partitionieren von Daten verwendet werden können.Only columns with data types that can be used to partition data will be displayed in the Available partitioning columns grid. Wenn Sie eine berechnete Spalte als Partitionierungsspalte auswählen, muss die Spalte als persistente berechnete Spalte gekennzeichnet sein.If you select a computed column as the partitioning column, the column must be designated as a persisted column.

    Die Auswahlmöglichkeiten, die Ihnen für die Partitionierungsspalte und den Wertebereich zur Verfügung stehen, werden in erster Linie durch das Ausmaß bestimmt, in dem Ihre Daten auf logische Weise gruppiert werden können.The choices you have for the partitioning column and the values range are determined primarily by the extent to which your data can be grouped in a logical way. So können Sie z. B. die Daten nach Monaten oder Quartalen in logische Gruppierungen aufteilen.For example, you may choose to divide your data into logical groupings by months or quarters of a year. Ob die logische Gruppierung für die Verwaltung der Tabellenpartitionen geeignet ist, hängt von den Abfragen ab, die Sie für die Daten ausführen möchten.The queries you plan to make against your data will determine whether this logical grouping is adequate for managing your table partitions. Als Partitionierungsspalte sind alle Datentypen außer text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), Aliasdatentypen oder CLR-benutzerdefinierten Datentypen, zulässig.All data types are valid for use as partitioning columns, except text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), alias data types, or CLR user-defined data types.

    Die folgenden zusätzlichen Optionen sind auf dieser Seite verfügbar:The following additional options are available on this page:

    Diese Tabelle der ausgewählten partitionierten Tabelle zuordnenCollocate this table to the selected partitioned table
    Ermöglicht das Auswählen einer partitionierten Tabelle mit verwandten Daten, die über die Partitionierungsspalte mit einer anderen Tabelle verknüpft werden soll.Allows you to select a partitioned table that contains related data to join with this table on the partitioning column. Tabellen mit Partitionen, die über die Partitionierungsspalten verknüpft sind, können i. d. R. effizienter abgefragt werden.Tables with partitions joined on the partitioning columns are typically queried more efficiently.

    Nicht eindeutige Indizes und eindeutige Indizes mit indizierter Partitionsspalte am Speicher ausrichtenStorage-align non-unique indexes and unique indexes with an indexed partition column
    Richtet alle Indizes der Tabelle, die mit dem gleichen Partitionsschema partitioniert sind, aneinander aus.Aligns all indexes of the table that are partitioned with the same partition scheme. Wenn eine Tabelle und ihre Indizes aneinander ausgerichtet sind, können Sie Partitionen effektiver in und aus partitionierten Tabellen verschieben, da die Daten mit dem gleichen Algorithmus partitioniert sind.When a table and its indexes are aligned, you can move partitions in and out of partitioned tables more effectively, because your data is partitioned with the same algorithm.

    Nach der Auswahl der Partitionierungsspalte und beliebiger anderer Optionen klicken Sie auf Weiter.After selecting the partitioning column and any other options, click Next.

  4. Klicken Sie auf der Seite Partitionsfunktion auswählen unter Partitionsfunktion auswählen auf Neue Partitionsfunktion oder Vorhandene Partitionsfunktion.On the Select a Partition Function page, under Select partition function, click either New partition function or Existing partition function. Wenn Sie Neue Partitionsfunktion auswählen, geben Sie den Namen der Funktion ein.If you choose New partition function, enter the name of the function. Wenn Sie Vorhandene Partitionsfunktion auswählen, wählen Sie in der Liste den Namen der Funktion aus, die Sie verwenden möchten.If you choose Existing partition function, select the name of the function you'd like to use from the list. Die Option Vorhandene Partitionsfunktion ist nicht verfügbar, wenn die Datenbank keine anderen Partitionsfunktionen enthält.The Existing partition function option will not be available if there are no other partition functions on the database.

    Nach Fertigstellen dieser Seite klicken Sie auf Weiter.After completing this page, click Next.

  5. Klicken Sie auf der Seite Partitionsschema auswählen unter Partitionsschema auswählen auf Neues Partitionsschema oder Vorhandenes Partitionsschema.On the Select a Partition Scheme page, under Select partition scheme, click either New partition scheme or Existing partition scheme. Wenn Sie Neues Partitionsschema auswählen, geben Sie den Namen des Schemas ein.If you choose New partition scheme, enter the name of the scheme. Wenn Sie Vorhandenes Partitionsschema auswählen, wählen Sie in der Liste den Namen des Schemas aus, die Sie verwenden möchten.If you choose Existing partition scheme, select the name of the scheme you'd like to use from the list. Die Option Vorhandenes Partitionsschema ist nicht verfügbar, wenn die Datenbank keine anderen Partitionsschemas enthält.The Existing partition scheme option will not be available if there are no other partition schemes on the database.

    Nach Fertigstellen dieser Seite klicken Sie auf Weiter.After completing this page, click Next.

  6. Wählen Sie auf der Seite Partitionen zuordnen unter Bereich entweder Linke Begrenzung oder Rechte Begrenzung aus, um anzugeben, ob der höchste oder niedrigste umgebende Wert in jeder Dateigruppe enthalten sein soll, die Sie erstellen.On the Map Partitions page, under Range, select either Left boundary or Right boundary to specify whether to include the highest or lowest bounding value within each filegroup you create. Zusätzlich zu der Anzahl der für die Begrenzungswerte angegebenen Dateigruppen müssen Sie beim Erstellen von Partitionen stets eine weitere Dateigruppe eingeben.You must always enter one extra filegroup in addition to the number of filegroups specified for the boundary values when you are creating partitions.

    Wählen Sie im Raster Wählen Sie Dateigruppen aus, und geben Sie Begrenzungswerte an unter Dateigruppe die Dateigruppe aus, in die Sie die Daten partitionieren möchten.In the Select filegroups and specify boundary values grid, under Filegroup, select the filegroup into which you want to partition your data. Geben Sie unter Begrenzung den Begrenzungswert für jede Dateigruppe ein.Under Boundary, enter the boundary value for each filegroup. Wenn der Begrenzungswert leer bleibt, ordnet die Partitionsfunktion die gesamte Tabelle oder den gesamten Index mithilfe eines einzigen Partitionsfunktionsnamens zu.If boundary value is left empty, the partition function maps the whole table or index into a single partition using the partition function name.

    Die folgenden zusätzlichen Optionen sind auf dieser Seite verfügbar:The following additional options are available on this page:

    Begrenzungen festlegen...Set Boundaries...
    Öffnet das Dialogfeld Begrenzungswerte festlegen , um die Begrenzungswerte und Datumsbereiche für die Partitionen auszuwählen.Opens the Set Boundary Values dialog box to select the boundary values and date ranges you want for your partitions. Diese Option ist nur verfügbar, wenn Sie eine Partitionierungsspalte ausgewählt haben, die einen der folgenden Datentypen enthält: date, datetime, smalldatetime, datetime2 oder datetimeoffset.This option is only available when you have selected a partitioning column that contains one of the following data types: date, datetime, smalldatetime, datetime2, or datetimeoffset.

    SchätzungsspeicherEstimate storage
    Schätzt die Zeilenanzahl sowie den zum Speichern erforderlichen und verfügbaren Speicherplatz für jede für die Partitionen angegebene Dateigruppe.Estimates rowcount, required space, and available space for storage for each filegroup specified for the partitions. Diese Werte werden im Raster als schreibgeschützte Werte angezeigt.These values are displayed in the grid as read-only values.

    Das Dialogfeld Begrenzungswerte festlegen berücksichtigt die folgenden zusätzlichen Optionen:The Set Boundary Values dialog box allows for the following additional options:

    StartdatumStart date
    Wählt das Anfangsdatum für die Bereichswerte der Partitionen aus.Selects the starting date for the range values of your partitions.

    EnddatumEnd date
    Wählt das Enddatum für die Bereichswerte der Partitionen aus.Selects the ending date for the range values of your partitions. Wenn Sie auf der Seite Partitionen zuordnen die Option Linke Begrenzung ausgewählt haben, ist dieses Datum der letzte Wert für alle Dateigruppen/Partition.If you selected Left boundary on the Map Partitions page, this date will be the last value for each filegroup/partition. Wenn Sie auf der Seite Partitionen zuordnen die Option Rechte Begrenzung wählen, ist dieses Datum der erste Wert in der vorletzten Dateigruppe.If you selected Right boundary on the Map Partitions page, this date will be the first value in the next-to-last filegroup.

    DatumsbereichDate range
    Wählt die Datumsgranularität bzw. das Bereichswertinkrement für jede Partition aus.Selects the date granularity or range value increment you want for each partition.

    Nach Fertigstellen dieser Seite klicken Sie auf Weiter.After completing this page, click Next.

  7. Geben Sie auf der Seite Ausgabeoption auswählen an, wie Sie die partitionierte Tabelle fertigstellen möchten.In the Select an Output Option page, specify how you want to complete your partitioned table. Wählen Sie Skript erstellen aus, um ein auf den vorherigen Seiten im Assistenten basierendes SQL-Skript zu erstellen.Select Create Script to create a SQL script based the previous pages in the wizard. Wählen Sie Sofort ausführen aus, um die neue partitionierte Tabelle zu erstellen, nachdem Sie alle verbleibenden Seiten im Assistenten vervollständigt haben.Select Run immediately to create the new partitioned table after completing all remaining pages in the wizard. Wählen Sie Zeitplan aus, um die neue partitionierte Tabelle zu einer vorher bestimmten Zeit für die Zukunft zu erstellen.Select Schedule to create the new partitioned table at a predetermined time in the future.

    Wenn Sie Skript erstellen auswählen, sind die folgenden Optionen unter Skriptoptionen verfügbar:If you select Create script, the following options are available under Script options:

    Skript in Datei schreibenScript to file
    Generiert das Skript als SQL-Datei.Generates the script as a .sql file. Geben Sie in das Dialogfeld Dateiname einen Dateinamen und einen Speicherort ein, oder klicken Sie auf Durchsuchen , um das Dialogfeld Speicherort der Skriptdatei zu öffnen.Enter a file name and location in the File name box or click Browse to open the Script File Location dialog box. Wählen Sie in Speichern unter Unicode-Text oder ANSI-Text aus.From Save As, select Unicode text or ANSI text.

    Skript in Zwischenablage schreibenScript to Clipboard
    Speichert das Skript in der Zwischenablage.Saves the script to the Clipboard.

    Skript in Fenster "Neue Abfrage" schreibenScript to New Query Window
    Generiert das Skript in einem neuen Abfrage-Editor-Fenster.Generates the script to a new Query Editor window. Dies ist die Standardauswahl.This is the default selection.

    Wenn Sie Zeitplan auswählen, klicken Sie auf Zeitplan ändern.If you select Schedule, click Change schedule.

    1. Geben Sie im Dialogfeld Neuer Auftragszeitplan im Feld Name den Namen des Auftragszeitplans ein.In the New Job Schedule dialog box, in the Name box, enter the job schedule's name.

    2. Wählen Sie in der Liste Zeitplantyp den Zeitplantyp aus:On the Schedule type list, select the type of schedule:

      • Automatisch starten, wenn der SQL Server-Agent startetStart automatically when SQL Server Agent starts

      • Starten, wenn sich die CPUs im Leerlauf befindenStart whenever the CPUs become idle

      • Wiederholt.Recurring. Aktivieren Sie diese Option, wenn die neue partitionierte Tabellen regelmäßig mit neuen Informationen aktualisiert wird.Select this option if your new partitioned table updates with new information on a regular basis.

      • Einmalige Ausführung.One time. Dies ist die Standardauswahl.This is the default selection.

    3. Aktivieren oder deaktivieren Sie das Kontrollkästchen Aktiviert , um den Zeitplan zu aktivieren oder zu deaktivieren.Select or clear the Enabled check box to enable or disable the schedule.

    4. Wenn Sie Wiederholt auswählen:If you select Recurring:

      1. Geben Sie unter Häufigkeit in der Liste Tritt auf die Häufigkeit des Vorkommens an:Under Frequency, on the Occurs list, specify the frequency of occurrence:

        • Wenn Sie im Dialogfeld Wiederholen alle die Option Täglich auswählen, geben Sie ein, wie oft der Auftragszeitplan wiederholt wird (in Tagen).If you select Daily, in the Recurs every box, enter how often the job schedule repeats in days.

        • Wenn Sie im Dialogfeld Wiederholen alle die Option Wöchentlich auswählen, geben Sie ein, wie oft der Auftragszeitplan wiederholt wird (in Wochen).If you select Weekly, in the Recurs every box, enter how often the job schedule repeats in weeks. Wählen Sie den Tag oder die Tage der Woche aus, an denen der Auftragszeitplan ausgeführt wird.Select the day or days of the week on which the job schedule is run.

        • Wenn Sie Monatlich auswählen, wählen Sie Tag oder Am aus.If you select Monthly, select either Day or The.

          • Wenn Sie Tag auswählen, geben Sie das Datum ein, an dem der Auftragszeitplan ausgeführt wird, und wie oft der Auftragszeitplan wiederholt werden soll (in Monaten).If you select Day, enter both the date of the month you want the job schedule to run and how often the job schedule repeats in months. Wenn Sie beispielsweise möchten, dass der Auftragszeitplan jeden zweiten Monat am 15. ausgeführt wird, wählen Sie Tag aus, und geben Sie in das erste Feld „15“ und in das zweite Feld „2“ ein.For example, if you want the job schedule to run on the 15th day of the month every other month, select Day and enter "15" in the first box and "2" in the second box. Beachten Sie, dass die größte im zweiten Feld zulässige Zahl „99“ ist.Please note that the largest number allowed in the second box is "99".

          • Wenn Sie Am auswählen, geben Sie den spezifischen Tag der Woche im Monat an, an dem der Auftragszeitplan ausgeführt wird, und wie oft der Auftragszeitplan wiederholt werden soll (in Monaten).If you select The, select the specific day of the week within the month that you want the job schedule to run and how often the job schedule repeats in months. Wenn Sie beispielsweise möchten, dass der Auftragszeitplan jeden zweiten Monat am letzten Wochentag ausgeführt werden soll, wählen Sie Tag und in der ersten Liste Letzter und in der zweiten Liste Wochentag aus, und geben Sie in das letzte Feld „2“ ein.For example, if you want the job schedule to run on the last weekday of the month every other month, select Day, select last from the first list and weekday from the second list, and then enter "2" in the last box. Sie können auch ersten, zweiten, dritten oder vierten sowie bestimmte Wochentage z. B. Sonntag oder Mittwoch) aus den ersten beiden Listen auswählen.You can also select first, second, third, or fourth, as well as specific weekdays (for example: Sunday or Wednesday) from the first two lists. Beachten Sie, dass die größte im letzten Feld zulässige Zahl „99“ ist.Please note that the largest number allowed in the last box is "99".

      2. Geben Sie unter Häufigkeit pro Tag an, wie oft der Auftragszeitplan an dem Tag wiederholt werden soll, an dem der Auftragszeitplan ausgeführt wird:Under Daily frequency, specify how often the job schedule repeats on the day the job schedule runs:

        • Wenn Sie Einmalig um auswählen, geben Sie im Feld Einmalig um die spezifische Tageszeit ein, zu der der Auftragszeitplan ausgeführt werden soll.If you select Occurs once at, enter the specific time of day when the job schedule should run in the Occurs once at box. Geben Sie die Stunde, Minute und Sekunde des Tages sowie AM oder PM ein.Enter the hour, minute, and second of the day, as well as AM or PM.

        • Wenn Sie Alle auswählen, geben Sie an, wie oft der Auftragszeitplan an dem unter Häufigkeit ausgewählten Tag ausgeführt werden soll.If you select Occurs every, specify how often the job schedule runs during the day chosen under Frequency. Wenn Sie z.B. möchten, dass der Auftragszeitplan am Tag seiner Ausführung alle 2 Stunden wiederholt wird, wählen Sie Alle aus, geben in das erste Feld „2“ ein und wählen dann in der Liste Stunde(n) aus.For example, if you want the job schedule to repeat every 2 hours during the day that the job schedule is run, select Occurs every, enter "2" in the first box, and then select hour(s) from the list. Aus dieser Liste können Sie auch Minute(n) und Sekunde(n) auswählen.From this list you can also select minute(s) and second(s). Beachten Sie, dass die größte im ersten Feld zulässige Zahl „100“ ist.Please note that the largest number allowed in the first box is "100".

          Geben Sie im Feld Start die Zeit ein, zu der die Ausführung des Auftragszeitplans beginnen soll.In the Starting at box, enter the time that the job schedule should start running. Geben Sie im Feld Ende die Zeit ein, zu der die Ausführung des Auftragszeitplans enden soll.In the Ending at box, enter the time that the job schedule should stop repeating. Geben Sie die Stunde, Minute und Sekunde des Tages sowie AM oder PM ein.Enter the hour, minute, and second of the day, as well as AM or PM.

      3. Geben Sie unter Dauer in Startdatum das Datum ein, an dem die Ausführung des Auftragszeitplans beginnen soll.Under Duration, in Start date, enter the date that you want the job schedule to start running. Wählen Sie Enddatum oder Kein Enddatum aus, um anzugeben, wann die Ausführung des Auftragszeitplans beendet werden soll.Select End date or No end date to indicate when the job schedule should stop running. Wenn Sie Enddatum auswählen, geben Sie das Datum ein, an dem die Ausführung des Auftragszeitplans beendet werden soll.If you select End date, enter the date that you want to job schedule to stop running.

    5. Wenn Sie Einmal auswählen, geben Sie unter Einmalig in das Feld Datum das Datum ein, an dem der Auftragszeitplan ausgeführt werden soll.If you select One Time, under One-time occurrence, in the Date box, enter the date that the job schedule will be run. Geben Sie im Feld Uhrzeit die Zeit ein, zu der der Auftragszeitplan ausgeführt werden soll.In the Time box, enter the time that the job schedule will be run. Geben Sie die Stunde, Minute und Sekunde des Tages sowie AM oder PM ein.Enter the hour, minute, and second of the day, as well as AM or PM.

    6. Überprüfen Sie unter Zusammenfassung im Feld Beschreibung, ob alle Auftragszeitplaneinstellungen richtig sind.Under Summary, in Description, verify that all job schedule settings are correct.

    7. Klicken Sie auf OK.Click OK.

    Nach Fertigstellen dieser Seite klicken Sie auf Weiter.After completing this page, click Next.

  8. Erweitern Sie auf der Seite Zusammenfassung der Überprüfung unter Überprüfen Sie Ihre Auswahl alle verfügbaren Optionen, um zu überprüfen, ob alle Partitionseinstellungen richtig sind.On the Review Summary page, under Review your selections, expand all available options to verify that all partition settings are correct. Klicken Sie auf Fertig stellen, wenn alle Einstellungen richtig sind.If everything is as expected, click Finish.

  9. Auf der Seite Status des Assistenten zum Erstellen von Partitionen können Sie Statusinformationen zu den Aktionen des Assistenten zum Erstellen von Partitionen überwachen.On the Create Partition Wizard Progress page, monitor status information about the actions of the Create Partition Wizard. Je nach den im Assistenten ausgewählten Optionen enthält diese Seite eine oder mehrere Aktionen.Depending on the options that you selected in the wizard, the progress page might contain one or more actions. Im oberen Feld werden der Gesamtstatus des Assistenten und die Anzahl der empfangenen Status-, Fehler- und Warnmeldungen angezeigt.The top box displays the overall status of the wizard and the number of status, error, and warning messages that the wizard has received.

    Die folgenden Optionen sind auf der Seite Status des Assistenten zum Erstellen von Partitionen verfügbar:The following options are available on the Create Partition Wizard Progress page:

    DetailsDetails
    Stellt für jede vom Assistenten ausgeführte Aktion Informationen zur Aktion, zum Status und zu den zurückgegebenen Meldungen bereit.Provides the action, status, and any messages that are returned from action taken by the wizard.

    AktionAction
    Gibt den Typ und den Namen jeder Aktion an.Specifies the type and name of each action.

    StatusStatus
    Gibt an, ob für die Aktion des Assistenten insgesamt der Wert Erfolg oder der Wert Fehler zurückgegeben wurde.Indicates whether the wizard action as a whole returned the value of Success or Failure.

    MeldungMessage
    Stellt alle vom Prozess zurückgegebenen Fehler- oder Warnmeldungen bereit.Provides any error or warning messages that are returned from the process.

    ReportReport
    Erstellt einen Bericht mit den Ergebnissen des Assistenten zum Erstellen von Partitionen.Creates a report that contains the results of the Create Partition Wizard. Die Optionen sind Bericht anzeigen, Bericht in Datei speichern, Bericht in Zwischenablage kopieren und Bericht als E-Mail senden.The options are View Report, Save Report to File, Copy Report to Clipboard, and Send Report as Email.

    Bericht anzeigenView Report
    Öffnet das Dialogfeld Bericht anzeigen , das einen Textbericht zum Fortschritt des Assistenten zum Erstellen von Partitionen enthält.Opens the View Report dialog box, which contains a text report of the progress of the Create Partition Wizard.

    Bericht in Datei speichernSave Report to File
    Öffnet das Dialogfeld Bericht speichern unter .Opens the Save Report As dialog box.

    Bericht in Zwischenablage kopierenCopy Report to Clipboard
    Kopiert die Ergebnisse aus dem Statusbericht des Assistenten in die Zwischenablage.Copies the results of the wizard's progress report to the Clipboard.

    Bericht als E-Mail sendenSend Report as Email
    Kopiert die Ergebnisse aus dem Statusbericht des Assistenten in eine E-Mail.Copies the results of the wizard's progress report into an email message.

    Nach Abschluss dieser Schritte klicken Sie auf Schließen.When complete, click Close.

Vom Assistenten zum Erstellen von Partitionen werden die Partitionsfunktion und das -schema erstellt, und anschließend wird die Partitionierung auf die angegebene Tabelle angewendet.The Create Partition Wizard creates the partition function and scheme and then applies the partitioning to the specified table. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Tabelle und wählen Sie Eigenschaften aus, um die Tabellenpartitionierung zu überprüfen.To verify the table partitioning, in Object Explorer, right-click the table and select Properties. Klicken Sie auf die Seite Speicherung .Click the Storage page. Auf der Seite werden Informationen, beispielsweise der Name der Partitionsfunktion und das -schema sowie die Anzahl an Partitionen, angezeigt.The page displays information such as the name of the partition function and scheme and the number of partitions.

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie eine partitionierte TabelleTo create a partitioned table

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. Im Beispiel werden neue Dateigruppen, eine Partitionsfunktion und ein Partitionsschema erstellt.The example creates new filegroups, a partition function, and a partition scheme. Eine neue Tabelle wird mit dem Partitionsschema erstellt, das als Speicherort angegeben wurde.A new table is created with the partition scheme specified as the storage location.

    USE AdventureWorks2012;  
    GO  
    -- Adds four new filegroups to the AdventureWorks2012 database  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test1fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test2fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test3fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test4fg;   
    
    -- Adds one file for each filegroup.  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test1dat1,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t1dat1.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test1fg;  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test2dat2,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t2dat2.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test2fg;  
    GO  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test3dat3,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t3dat3.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test3fg;  
    GO  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test4dat4,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t4dat4.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test4fg;  
    GO  
    -- Creates a partition function called myRangePF1 that will partition a table into four partitions  
    CREATE PARTITION FUNCTION myRangePF1 (int)  
        AS RANGE LEFT FOR VALUES (1, 100, 1000) ;  
    GO  
    -- Creates a partition scheme called myRangePS1 that applies myRangePF1 to the four filegroups created above  
    CREATE PARTITION SCHEME myRangePS1  
        AS PARTITION myRangePF1  
        TO (test1fg, test2fg, test3fg, test4fg) ;  
    GO  
    -- Creates a partitioned table called PartitionTable that uses myRangePS1 to partition col1  
    CREATE TABLE PartitionTable (col1 int PRIMARY KEY, col2 char(10))  
        ON myRangePS1 (col1) ;  
    GO  
    

So bestimmen Sie, ob eine Tabelle partitioniert istTo determine if a table is partitioned

  1. Die folgende Abfrage gibt mindestens eine Zeile zurück, wenn die PartitionTable -Tabelle partitioniert ist.The following query returns one or more rows if the table PartitionTable is partitioned. Wenn die Tabelle nicht partitioniert ist, werden keine Zeilen zurückgegeben.If the table is not partitioned, no rows are returned.

    SELECT *   
    FROM sys.tables AS t   
    JOIN sys.indexes AS i   
        ON t.[object_id] = i.[object_id]   
        AND i.[type] IN (0,1)   
    JOIN sys.partition_schemes ps   
        ON i.data_space_id = ps.data_space_id   
    WHERE t.name = 'PartitionTable';   
    GO  
    

Sie definieren Sie Begrenzungswerte für eine partitionierte TabelleTo determine the boundary values for a partitioned table

  1. Die folgende Abfrage gibt die Begrenzungswerte für jede Partition in der PartitionTable -Tabelle zurück.The following query returns the boundary values for each partition in the PartitionTable table.

    SELECT t.name AS TableName, i.name AS IndexName, p.partition_number, p.partition_id, i.data_space_id, f.function_id, f.type_desc, r.boundary_id, r.value AS BoundaryValue   
    FROM sys.tables AS t  
    JOIN sys.indexes AS i  
        ON t.object_id = i.object_id  
    JOIN sys.partitions AS p  
        ON i.object_id = p.object_id AND i.index_id = p.index_id   
    JOIN  sys.partition_schemes AS s   
        ON i.data_space_id = s.data_space_id  
    JOIN sys.partition_functions AS f   
        ON s.function_id = f.function_id  
    LEFT JOIN sys.partition_range_values AS r   
        ON f.function_id = r.function_id and r.boundary_id = p.partition_number  
    WHERE t.name = 'PartitionTable' AND i.type <= 1  
    ORDER BY p.partition_number;  
    

So definieren Sie die Partitionsspalte für eine partitionierte TabelleTo determine the partition column for a partitioned table

  1. Die folgende Abfrage gibt den Namen der Partitionierungsspalte für die Tabelle zurück.The following query returns the name of the partitioning column for table. PartitionTable.PartitionTable.

    SELECT   
        t.[object_id] AS ObjectID   
        , t.name AS TableName   
        , ic.column_id AS PartitioningColumnID   
        , c.name AS PartitioningColumnName   
    FROM sys.tables AS t   
    JOIN sys.indexes AS i   
        ON t.[object_id] = i.[object_id]   
        AND i.[type] <= 1 -- clustered index or a heap   
    JOIN sys.partition_schemes AS ps   
        ON ps.data_space_id = i.data_space_id   
    JOIN sys.index_columns AS ic   
        ON ic.[object_id] = i.[object_id]   
        AND ic.index_id = i.index_id   
        AND ic.partition_ordinal >= 1 -- because 0 = non-partitioning column   
    JOIN sys.columns AS c   
        ON t.[object_id] = c.[object_id]   
        AND ic.column_id = c.column_id   
    WHERE t.name = 'PartitionTable' ;   
    GO  
    

Weitere Informationen finden Sie unter:For more information, see: