Invoke-SqlNotebook
Exécute un fichier de notebook SQL (.ipynb) et génère le notebook matérialisé.
Syntaxe
ByConnectionParameters (Par défaut)
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]
[<CommonParameters>]
ByConnectionString
Invoke-SqlNotebook
[-ConnectionString <Object>]
[-InputFile <Object>]
[-InputObject <Object>]
[-OutputFile <Object>]
[-Force]
[<CommonParameters>]
ByInputFile
Invoke-SqlNotebook
-InputFile <Object>
[-OutputFile <Object>]
[-Force]
[<CommonParameters>]
ByInputObject
Invoke-SqlNotebook
-InputObject <Object>
[-OutputFile <Object>]
[-Force]
[<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 n’a été transmis, le notebook matérialisé est enregistré sur le disque avec le même nom que 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 NetName propriété de l’instance SQL Server sera incluse dans le nom du fichier de sortie . Le bloc-notes matérialisé sera horodaté avec l’horodatage de l’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 Open-EditorFile commande 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 se connecter à SQL Azure DBSQL Azure Managed Instance une ou à une Service PrincipalManaged 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 UserName, Password ou Credential lors de l’utilisation de ce paramètre.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionString
Spécifie une chaîne de connexion à connecter au serveur.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionString
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Credential
Objet PSCredential dont les champs Nom d’utilisateur et Mot de passe seront utilisés pour se connecter à l’instance SQL.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Database
Cette applet de commande se connecte à cette base de données dans l’instance spécifiée dans le paramètre ServerInstance.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Encrypt
Type de chiffrement à utiliser lors de la connexion à SQL Server.
Cette valeur est mappée à la Encrypt propriété 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Valeurs acceptées: | Mandatory, Optional, Strict |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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. Permet -Force de contourner cette vérification et d’autoriser l’applet de commande à remplacer le fichier existant.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL.
Ce paramètre est nouveau dans v22 du module.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputFile
Spécifie un fichier notebook (.ipynb) qui sera exécuté via l’applet de commande.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ByConnectionString
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie le notebook en tant que chaîne Json qui sera utilisée comme bloc-notes d’entrée.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ByConnectionString
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-OutputFile
Spécifie le fichier notebook de sortie souhaité pour lequel le notebook exécuté sera enregistré.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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. Lorsque c'est possible, utilisez l'authentification Windows.
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByConnectionParameters
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
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.