Commande .execute database script

Changer de service à l’aide de la liste déroulante Version . En savoir plus sur la navigation.
S’applique à : ✅ Microsoft Fabric ✅ Azure Data Explorer

Exécute un lot de commandes de gestion dans l’étendue d’une base de données unique.

Note

Sélectionnez le texte de la commande complète avant de l’exécuter. Sinon, il s’arrête à la première ligne vide du script.

Conseil / Astuce

Par défaut, la .execute database script commande réussit toujours. Si vous souhaitez que la commande échoue lorsque l’une des commandes du script échoue, exécutez la commande avec la ThrowOnErrors propriété définie sur True

.execute database script with (ThrowOnErrors=true).

Permissions

Vous devez disposer d’au moins autorisations d’administrateur de base de données pour exécuter cette commande.

Syntaxe

.execute database script
[with(PropertyName=PropertyValue [, ...])] <|ControlCommandsScript

En savoir plus sur les conventions de syntaxe.

https://microsoft-ce-csi.acrolinx.cloud/htmldata/en/rules/6fba4c0492df38150ba70881e2fae9640d6466a0.html

Paramètres

Nom Type Obligatoire Descriptif
ControlCommandsScript string ✔️ Texte avec une ou plusieurs commandes de gestion.
PropertyName, PropertyValue string Propriétés facultatives. Consultez les propriétés prises en charge.

Propriétés prises en charge

PropertyName Type Descriptif
ContinueOnErrors bool Si la valeur est false définie sur : le script s’arrête lors de la première erreur. Si la valeur est true définie sur : l’exécution du script se poursuit. Par défaut : false.
ThrowOnErrors bool S’il est défini sur true : le script lève une erreur (échec) lors de la première erreur. Ne fonctionne pas avec ContinueOnErrors, un seul est autorisé. Par défaut : false.

Retours

Chaque commande apparaissant dans le script est signalée sous la forme d’un enregistrement distinct dans la table de sortie. Chaque enregistrement comporte les champs suivants :

Paramètre de sortie Type Descriptif
OperationId guid Identificateur de la commande.
CommandType string Type de la commande.
CommandText string Texte de la commande spécifique.
Résultat string Résultat de l’exécution de commande spécifique.
Reason string Informations détaillées sur le résultat de l’exécution de commande.

Note

  • Le texte du script peut inclure des lignes vides et des commentaires entre les commandes.
  • Les commandes sont exécutées séquentiellement, dans l’ordre dans lequel elles apparaissent dans le script d’entrée.
  • L’exécution du script est séquentielle, mais non transactionnelle et aucune restauration n’est effectuée lors de l’erreur. Nous vous recommandons d’utiliser la forme idempotente de commandes lors de l’utilisation .execute database script.
  • L’exécution de la commande nécessite des autorisations d’administrateur de base de données, en plus des autorisations requises par chaque commande spécifique.
  • Comportement par défaut de la commande : échouer lors de la première erreur, il peut être modifié à l’aide de l’argument de propriété.
  • Les commandes de gestion en lecture seule (.show commandes) ne sont pas exécutées et sont signalées avec l’état Skipped.

Conseil / Astuce

  • Cette commande est utile si vous souhaitez « cloner »/« dupliquer » une base de données existante. Vous pouvez utiliser la .show database schema command base de données existante (la base de données source) et utiliser sa sortie comme script Control-commands-script de « script de base de données ».
  • Si vous souhaitez « cloner »/« dupliquer » le cluster, vous pouvez utiliser son modèle ARM et recréer la ressource.

Conseil / Astuce

  • Cette commande est utile si vous souhaitez « cloner »/« dupliquer » une base de données existante. Vous pouvez utiliser la .show database schema command base de données existante (la base de données source) et utiliser sa sortie comme script Control-commands-script de « script de base de données ».

Example

L’exemple suivant exécute un script avec plusieurs opérations, en continuant à s’exécuter même en cas d’échec d’une commande. Le script crée ou fusionne une table T avec des colonnes a et b une chaîne de type. Il définit ensuite une stratégie de rétention sur la table T pour supprimer de manière réversible les données après 10 jours. Enfin, il crée ou modifie la SampleT1 fonction, qui prend un paramètre myLimit de type long et retourne les premières myLimit lignes de la table T1. La fonction est créée sans la valider lors de la création.

.execute database script with (ContinueOnErrors=true)
<|
//
// Create tables
.create-merge table T(a:string, b:string)
//
// Apply policies
.alter-merge table T policy retention softdelete = 10d 
//
// Create functions
.create-or-alter function
  with (skipvalidation = "true") 
  SampleT1(myLimit: long) { 
    T1 | take myLimit
}
OperationId CommandType CommandText Résultat Reason
1d28531b-58c8-4023-a5d3-16fa73c06cfa TableCreate .create-merge table T(a:string, b:string) Terminé
67d0ea69-baa4-419a-93d3-234c03834360 RetentionPolicyAlter .alter-merge table T policy retention softdelete = 10d Terminé
0b0e8769-d4e8-4ff9-adae-071e52a650c7 FunctionCreateOrAlter .create-or-alter function with (skipvalidation = "true")SampleT1(myLimit: long) {T1 \| take myLimit} Terminé