Ändra ett partitionsschema
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Du kan ändra ett partitionsschema i SQL Server, Azure SQL Database och Azure SQL Managed Instance genom att utse en filgrupp som ska innehålla nästa partition som läggs till i en partitionerad tabell med SQL Server Management Studio (SSMS) eller Transact-SQL. Det gör du genom att tilldela egenskapen NEXT USED till en filgrupp.
Du kan tilldela egenskapen NEXT USED till en tom filgrupp eller till en som redan innehåller en partition. Med andra ord kan en filgrupp innehålla mer än en partition. Läs mer om filgrupper och partitioneringsstrategier i Filegroups.
Tabellpartitionering är också tillgängligt i dedikerade SQL-pooler i Azure Synapse Analytics, med vissa syntaxskillnader. Läs mer i Partitioneringstabeller i dedikerade SQL-pooler.
Begränsningar
Alla filgrupper som påverkas av ALTER PARTITION SCHEME måste vara online.
Not
Azure SQL Database stöder endast PRIMARY
filgrupp.
Behörigheter
Följande behörigheter kan användas för att köra ALTER PARTITION SCHEME:
ÄNDRA ALLA DATASPACE-behörigheter. Den här behörigheten är standard för medlemmar i sysadmin fast serverroll och db_owner och db_ddladmin fasta databasroller.
KONTROLL- eller ALTER-behörighet för databasen där partitionsschemat skapades.
CONTROL SERVER- eller ALTER ANY DATABASE-behörighet på servern där partitionsschemat för databasen skapades.
Ändra ett partitionsschema med Transact-SQL
I det här exemplet används exempeldatabasen AdventureWorks.
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
Not
För enkelhetens skull skapar den här koden nya filgrupper men tilldelar inte filer till dem. På så sätt kan du visa hur du ändrar partitionsschemat, men det är inte ett fullständigt exempel på hur du konfigurerar ett partitionerat objekt. Hitta exempel på hur du skapar partitionerade tabeller och index i Skapa partitionerade tabeller och index.
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
Ta bort ett partitionsschema med SSMS
I Object Exploreransluter du till måldatabasen.
Välj plustecknet för att expandera databasen där du vill ta bort partitionsschemat.
Välj plustecknet för att expandera mappen Storage.
Välj plustecknet för att expandera mappen partitionsscheman.
Högerklicka på partitionsschemat som du vill ta bort och välj Ta bort.
I dialogrutan Ta bort objekt kontrollerar du att rätt partitionsschema är markerat och väljer sedan OK.
Nästa steg
Läs mer om tabellpartitionering i följande artiklar: