Invoke-SqlNotebook
Exécute un fichier de notebook SQL (.ipynb) et génère le notebook matérialisé.
Syntaxe
Invoke-SqlNotebook
[-ServerInstance <Object>]
[-Database <Object>]
[-Username <Object>]
[-Password <Object>]
[-Credential <PSCredential>]
[-InputFile <Object>]
[-InputObject <Object>]
[-OutputFile <Object>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-Encrypt <String>]
[-HostNameInCertificate <String>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Invoke-SqlNotebook
[-ConnectionString <Object>]
[-InputFile <Object>]
[-InputObject <Object>]
[-OutputFile <Object>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Invoke-SqlNotebook
-InputFile <Object>
[-OutputFile <Object>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Invoke-SqlNotebook
-InputObject <Object>
[-OutputFile <Object>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
L’applet de commande Invoke-SqlNotebook exécute un fichier SQL Notebook (.ipynb) et génère le notebook matérialisé.
Le notebook est exécuté sur ServerInstance et la base de données fournie.
Lorsque l’applet de commande est exécutée, le fichier Notebook résultant se trouve à l’emplacement défini par l’utilisateur ou dans le même répertoire du fichier de notebook d’entrée.
Le fichier outfile de l’applet de commande peut être omis : si c’est le cas, il est créé avec le nom du fichier d’entrée et l'_out ajouté au fichier.
Exemples
Exemple 1 : Exécuter un notebook sur le serveur local (instance par défaut)
PS C:\> Invoke-SqlNotebook -ServerInstance localhost -Database TestNotebook -InputFile C:\notebook.ipynb
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/1/2019 1:00 PM 4656 notebook_out.ipynb
Cette commande exécute le notebook sur l’instance par défaut de SQL Server exécutée sur l’ordinateur à partir duquel l’applet de commande est exécutée. Par défaut, étant donné qu’aucun -OutputFile a été transmis, le bloc-notes matérialisé est enregistré sur le disque avec le même nom que le InputFile avec un _out en tant que suffixe au nom de fichier (notebook.ipynb -> notebook_out.ipynb)
Exemple 2 : Exécuter notebook sur le serveur local (instance defaut) et enregistre le notebook matérialisé dans un fichier spécifié
PS C:\> Invoke-SqlNotebook -ServerInstance localhost -Database TestNotebook -InputFile C:\notebook.ipynb -OutputFile C:\new_notebook.ipynb
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/1/2019 1:00 PM 44656 new_notebook.ipynb
Cette commande exécute le notebook sur l’instance par défaut de SQL Server exécutée sur l’ordinateur à partir duquel l’applet de commande est exécutée. Le notebook exécuté est ensuite enregistré dans le fichier spécifié avec le paramètre -OutputFile.
Exemple 3 : Exécuter un notebook à l’aide du paramètre -ConnectionString
PS C:\> Invoke-Sqlnotebook -ConnectionString 'Server=Localhost;Database=TestNotebook;Trusted_Connection=True;' -InputFile C:\notebook.ipynb
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/1/2019 1:00 PM 44656 notebook_out.ipynb
Il s’agit de l’exemple 1, uniquement que la connexion au serveur est spécifiée via le paramètre -ConnectionString.
Exemple 4 : Exécuter un notebook sur tous les serveurs inscrits
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' |
WHERE { $_.Mode -ne 'd'} |
foreach {
$datetime = Get-Date -Format yyyyMMddhhmm;
Get-SqlInstance -ServerInstance $_.Name |
foreach {
Invoke-SqlNotebook -ServerInstance $_.Name -Database master -InputFile '$home\Documents\SQL Server Management Studio\BPCheck.ipynb' `
-OutputFile "BPCheck_output_$($_.NetName)_$($datetime).ipynb";
}
}
Utilisez des serveurs inscrits ou un serveur d’administration centrale pour exécuter Invoke-SqlNotebook sur plusieurs serveurs.
Dans cet exemple, la propriété NetName
de l’instance SQL Server sera incluse dans le nom du fichier de sortie ; le bloc-notes matérialisé va être horodaté avec année-mois-jour-heure-minute.
Exemple 5 : Exécuter un notebook, ouvrir des résultats dans Azure Data Studio
Installez l’extension PowerShell à partir de la Place de marché Azure Data Studio.
Utilisez la console intégrée PowerShell dans Azure Data Studio pour exécuter Invoke-SqlNotebook
et utiliser Open-EditorFile
pour ouvrir les résultats du notebook SQL directement dans Azure Data Studio.
Invoke-SqlNotebook -ServerInstance ServerA -Database master -InputFile "$home\Documents\SQL Server Management Studio\BPCheck.ipynb" |
Open-EditorFile
Remarque : la commande Open-EditorFile
est disponible uniquement dans la console intégrée PowerShell.
Exemple 6 : Exécuter un notebook, se connecter à des bases de données Azure SQL (ou Managed Instance) à l’aide d’un principal de service
Import-Module SQLServer
Import-Module Az.Accounts -MinimumVersion 2.2.0
### Obtain the Access Token interactively.
### Note: help for Invoke-Sqlcmd has examples on other ways to acquire the token.
Connect-AzAccount
$access_token = (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token
# Now that we have the token, we use it to connect to the database 'mydb' on server 'myserver'
Invoke-SqlNotebook -ServerInstance myserver.database.windows.net -Database master -AccessToken $access_token`
-InputFile MyNotebook.ipynb
Paramètres
-AccessToken
Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou Windows.
Cela peut être utilisé, par exemple, pour vous connecter à SQL Azure DB
et SQL Azure Managed Instance
à l’aide d’un Service Principal
ou d’un Managed Identity
(voir les références en bas de cette page)
Dans les scénarios courants, ce paramètre est obtenu avec quelque chose comme (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token
(nécessite le module Az.Account)
Ne spécifiez pas nom d’utilisateur, mot de passe ou d’informations d’identification lors de l’utilisation de ce paramètre.
Type: | PSObject |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ConnectionString
Spécifie une chaîne de connexion à connecter au serveur.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Objet PSCredential dont les champs Nom d’utilisateur et Mot de passe seront utilisés pour se connecter à l’instance SQL.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Database
Cette applet de commande se connecte à cette base de données dans l’instance spécifiée dans le paramètre ServerInstance.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Encrypt
Type de chiffrement à utiliser lors de la connexion à SQL Server.
Cette valeur est mappée à la propriété Encrypt
SqlConnectionEncryptOption
sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.
Dans la version 22 du module, la valeur par défaut est Optional
(pour la compatibilité avec v21). Dans la version 23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans v22 du module.
Type: | String |
Valeurs acceptées: | Mandatory, Optional, Strict |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Force
Par défaut, lorsque l’applet de commande écrit le notebook matérialisé dans un fichier, une vérification est effectuée pour empêcher l’utilisateur de remplacer accidentellement un fichier existant. Utilisez -Force
pour contourner cette vérification et autoriser l’applet de commande à remplacer le fichier existant.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat TLS/SSL SQL Server.
Ce paramètre est nouveau dans v22 du module.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputFile
Spécifie un fichier notebook (.ipynb) qui sera exécuté via l’applet de commande.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie le notebook en tant que chaîne Json qui sera utilisée comme bloc-notes d’entrée.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-OutputFile
Spécifie le fichier notebook de sortie souhaité pour lequel le notebook exécuté sera enregistré.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Password
Spécifie le mot de passe de l’ID de connexion d’authentification SQL Server spécifié dans le paramètre Username.
Les mots de passe respectent la casse. Si possible, utilisez l’authentification Windows ou envisagez d’utiliser le paramètre -Credential à la place.
Si vous spécifiez le paramètre Mot de passe suivi de votre mot de passe, le mot de passe est visible par toute personne qui peut voir votre moniteur.
Si vous codez le mot de passe suivi de votre mot de passe dans un script .ps1, toute personne qui lit le fichier de script voit votre mot de passe.
Attribuez les autorisations NTFS appropriées au fichier pour empêcher d’autres utilisateurs de pouvoir lire le fichier.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ProgressAction
Détermine comment PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l’applet de commande Write-Progress. L’applet de commande Write-Progress crée des barres de progression qui affichent l’état d’une commande.
Type: | ActionPreference |
Alias: | proga |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ServerInstance
Spécifie une chaîne de caractères ou un objet SMO (SQL Server Management Objects) qui spécifie le nom d’une instance du moteur de base de données.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TrustServerCertificate
Indique si le canal sera chiffré lors du contournement de la marche à pied de la chaîne de certificats pour valider l’approbation.
Dans la version 22 du module, la valeur par défaut est $true
(pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans v22 du module.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Username
Spécifie l’ID de connexion pour établir une connexion d’authentification SQL Server à une instance du moteur de base de données.
Le mot de passe doit être spécifié via le paramètre Password.
Si le nom d’utilisateur et le mot de passe ne sont pas spécifiés, cette applet de commande tente une connexion d’authentification Windows à l’aide du compte Windows exécutant la session Windows PowerShell. Si possible, utilisez l’authentification Windows.
Type: | Object |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
System.Object
System.Management.Automation.PSCredential
Sorties
System.Object
Notes
Une bonne façon de visualiser un notebook matérialisé consiste à utiliser Azure Data Studio.
Liens associés
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour