Een partitieschema wijzigen
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
U kunt een partitieschema wijzigen in SQL Server, Azure SQL Database en Azure SQL Managed Instance door een bestandsgroep aan te wijzen voor de volgende partitie die wordt toegevoegd aan een gepartitioneerde tabel met behulp van SQL Server Management Studio (SSMS) of Transact-SQL. U doet dit door de eigenschap NEXT USED toe te wijzen aan een bestandsgroep.
U kunt de eigenschap NEXT USED toewijzen aan een lege bestandsgroep of aan een groep die al een partitie bevat. Met andere woorden, een bestandsgroep kan meer dan één partitie bevatten. Meer informatie over bestandsgroepen en partitioneringsstrategieën in de Filegroups.
Tabelpartitionering is ook beschikbaar in toegewezen SQL-pools in Azure Synapse Analytics, met enkele syntaxisverschillen. Meer informatie vindt u in Partitioneringstabellen in toegewezen SQL-pool.
Beperkingen
Elke bestandsgroep die wordt beïnvloed door ALTER PARTITION SCHEME moet online zijn.
Notitie
Azure SQL Database ondersteunt alleen de PRIMARY
bestandsgroep.
Machtigingen
De volgende machtigingen kunnen worden gebruikt om ALTER PARTITION SCHEME uit te voeren:
ELKE DATASPACE-machtiging WIJZIGEN. Deze machtiging is standaard ingesteld op leden van de sysadmin vaste serverfunctie en de db_owner en db_ddladmin vaste databaserollen.
Control- of ALTER-machtiging voor de database waarin het partitieschema is gemaakt.
CONTROL SERVER- of ALTER ANY DATABASE-machtiging op de server van de database waarin het partitieschema is gemaakt.
Een partitieschema wijzigen met Transact-SQL
In dit voorbeeld wordt de AdventureWorks-voorbeelddatabasegebruikt.
Maak in Object-Verkennerverbinding met een exemplaar van Database Engine.
Selecteer op de standaardbalk Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.
Notitie
Ter vereenvoudiging worden met deze code nieuwe bestandsgroepen gemaakt, maar worden er geen bestanden aan toegewezen. Hiermee kunt u zien hoe u het partitieschema kunt wijzigen, maar dit is geen volledig voorbeeld van het configureren van een gepartitioneerd object. Voorbeelden van het maken van gepartitioneerde tabellen en indexen in Gepartitioneerde tabellen en indexen maken.
USE AdventureWorks2022; GO -- add five new filegroups to the AdventureWorks2022 database ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test1fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test2fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test3fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test4fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test5fg; GO -- if the "myRangePF1" partition function and the "myRangePS1" partition scheme exist, -- drop them from the AdventureWorks2022 database IF EXISTS (SELECT * FROM sys.partition_functions WHERE name = 'myRangePF1') DROP PARTITION FUNCTION myRangePF1; GO IF EXISTS (SELECT * FROM sys.partition_schemes WHERE name = 'myRangePS1') DROP PARTITION SCHEME myRangePS1; GO -- create the new partition function "myRangePF1" with four partition groups CREATE PARTITION FUNCTION myRangePF1 (int) AS RANGE LEFT FOR VALUES ( 1, 100, 1000 ); GO -- create the new partition scheme "myRangePS1"that will use -- the "myRangePF1" partition function with five file groups. -- The last filegroup, "test5fg," will be kept empty but marked -- as the next used filegroup in the partition scheme. CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg, test5fg); GO --Split "myRangePS1" between boundary_values 100 and 1000 --to create two partitions between boundary_values 100 and 500 --and between boundary_values 500 and 1000. ALTER PARTITION FUNCTION myRangePF1 () SPLIT RANGE (500); GO -- Allow the "myRangePS1" partition scheme to use the filegroup "test5fg" -- for the partition with boundary_values of 100 and 500 ALTER PARTITION SCHEME myRangePS1 NEXT USED test5fg; GO
Een partitieschema verwijderen met SSMS
Maak in Objectverkennerverbinding met uw doeldatabase.
Selecteer het plusteken om de database uit te vouwen waarin u het partitieschema wilt verwijderen.
Selecteer het plusteken om de map Storage uit te vouwen.
Selecteer het plusteken om de map Partitieschema's uit te vouwen.
Klik met de rechtermuisknop op het partitieschema dat u wilt verwijderen en selecteer verwijderen.
Controleer in het dialoogvenster Object verwijderen of het juiste partitieschema is geselecteerd en selecteer OK.
Volgende stappen
Meer informatie over tabelpartitionering in deze artikelen: