/ / Fusionner deux partitions de table de base de données par leur numéro de partition - sql-server, sql-server-2008, tsql

Fusionnez deux partitions de table de base de données par leur numéro de partition - sql-server, sql-server-2008, tsql

J'ai créé quatre partitions dans SQL Server à l'aide des fonctions suivantes.

CREATE PARTITION FUNCTION fnYearsRT(DateTime)
AS RANGE RIGHT FOR VALUES
("01/01/2005", "01/01/2006", "01/01/2007", "01/01/2008");

CREATE PARTITION SCHEME date_partscheme
AS PARTITION fnYearsRT
TO (Filegroup1, Filegroup2, Filegroup3, Filegroup4,Filegroup5)

CREATE TABLE Sales.ReturnsArchive
(
ReturnID  int  IDENTITY NOT NULL,
ProductID  int  NOT NULL,
CustomerID  int  NOT NULL,
ReturnDate  datetime  NOT NULL,
ReturnReason  char(20)  NULL
)
ON date_partscheme (ReturnDate)

Après avoir inséré des données, j'ai les statistiques suivantes

Partition   COUNT
2       5151
3       19353
4       51237
5       45576

Je souhaite fusionner les partitions 2 et 3, mais je ne parviens pas à décider de la plage à attribuer à la fonction de fusion.

Réponses:

2 pour la réponse № 1

Vous avez en réalité 5 partitions, pas 4, le premier semble juste être vide. Pour fusionner les partitions 2 et 3, utilisez le code suivant:

ALTER PARTITION FUNCTION
MERGE RANGE("01/01/2006")

Cela vous donnera les plages suivantes:

  1. ~ au "31/12/2004"
  2. "01/01/2005" au "31/12/2006"
  3. "01/01/2007" au "31/12/2007"
  4. "01/01/2008" à ~