Downgrade Azure SQL Database de P15 (2 To) à P4 (500 Go)

Selon la documentation :

Si la taille maximale d'une database est supérieure à 1 To, elle ne peut pas être modifiée à 1 To même si le stockage réel utilisé est inférieur à 1 To. Ainsi, vous ne pouvez pas rétrograder un P11 ou un P15 d'une taille maximale supérieure à 1 To à un niveau P11 de 1 To ou 1 P15 ou inférieur de 1 To, tel que P1-P6).

Je me request pourquoi cette limitation s'applique? Quelles sont les solutions de contournement?

J'ai donc résolu le problème en utilisant l'approche Export-Import. J'ai d'abord exporté la database existante vers le blob, puis importé le file bacpac produit à la nouvelle database. Étapes ci-dessous:

  1. Exporter la database Db (P15, 2TB)
  2. Importer bacpac vers Db-New (P15, 500GB pour accélérer le process)
  3. ALTER DATABASE [Db] MODIFY NAME = [Db-Old]
  4. ALTER DATABASE [Db-New] MODIFY NAME = [Db]
  5. Drop Db-Old
  6. Rétrogradation du plan de database vers P4

La réponse fournie par l'équipe SQL Azure est que la rétrogradation n'est pas possible car il existe plusieurs files sur une database de 4 To et la seule manière de rétrograder est d'exporter datatables par quelque chose comme bcp,

Ajout d'une autre raison est que ces niveaux supérieurs de 4 To résident sur un matériel spécial.

EDIT: Réponse mise à jour avec des informations fournies par Microsoft.

Remarque: Une fois qu'une database est configurée avec une taille maximale supérieure à 1 To, toutes les opérations de restauration de cette database doivent être exécutées dans un P11 / P15 avec une taille maximale supérieure à 1 To.

Par exemple: Si la taille de votre database est de 1,2 To, vous devez choisir P11 ou P15 car les options de stockage maximum pour P11 et P15 sont 4096.

entrez la description de l'image ici

Vous ne pouvez pas rétrograder, car les options de stockage maximales pour P1-P6 sont 500 , 750 , 1024 .