Invoke-SqlNotebook
Führt eine SQL-Notizbuchdatei (IPYNB) aus und gibt das materialisierte Notizbuch aus.
Syntax
ByConnectionParameters (Standardwert)
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>]
Beschreibung
Das Cmdlet Invoke-SqlNotebook führt eine SQL-Notizbuchdatei (IPYNB) aus und gibt das materialisierte Notizbuch aus.
Das Notizbuch wird in der bereitgestellten ServerInstance und Datenbank ausgeführt.
Wenn das Cmdlet ausgeführt wird, befindet sich die resultierende Notizbuchdatei an dem Speicherort, den der Benutzer definiert oder im selben Verzeichnis der Eingabenotizbuchdatei.
Die Cmdlet-Outfile-Datei kann weggelassen werden: Wenn dies der Fall ist, wird sie mit dem Namen der Eingabedatei und dem an die Datei angefügten _out erstellt.
Beispiele
Beispiel 1: Ausführen eines Notizbuchs für den lokalen Server (Standardinstanz)
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
Mit diesem Befehl wird das Notizbuch für die Standardinstanz von SQL Server ausgeführt, die auf dem Computer ausgeführt wird, auf dem das Cmdlet ausgeführt wird. Da kein -OutputFile übergeben wurde, wird das materialisierte Notizbuch standardmäßig auf dem Datenträger mit demselben Namen wie die InputFile mit einem _out als Suffix an den Dateinamen (notebook.ipynb -> notebook_out.ipynb) gespeichert.
Beispiel 2: Ausführen des Notizbuchs auf dem lokalen Server (Instanz defaut) und Speichern des materialisierten Notizbuchs in einer angegebenen Datei
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
Mit diesem Befehl wird das Notizbuch für die Standardinstanz von SQL Server ausgeführt, die auf dem Computer ausgeführt wird, auf dem das Cmdlet ausgeführt wird. Das ausgeführte Notizbuch wird dann in der mit dem Parameter "-OutputFile " angegebenen Datei gespeichert.
Beispiel 3: Ausführen eines Notizbuchs mit -ConnectionString Parameter
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
Dies ist identisch mit Beispiel 1, nur dass die Verbindung mit dem Server über den Parameter "-ConnectionString " angegeben wird.
Beispiel 4: Ausführen eines Notizbuchs für alle registrierten Server
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";
}
}
Verwenden Sie registrierte Server oder zentralen Verwaltungsserver, um Invoke-SqlNotebook für mehrere Server auszuführen.
In diesem Beispiel wird die NetName Eigenschaft der SQL Server-Instanz in den Namen der Ausgabedatei aufgenommen. Das materialisierte Notizbuch wird mit einem Zeitstempel mit Jahresmonat-Tag-Stunde-Minute versehen.
Beispiel 5: Notizbuch ausführen, Ergebnisse in Azure Data Studio öffnen
Installieren Sie die PowerShell-Erweiterung aus dem Azure Data Studio Marketplace.
Verwenden Sie die integrierte PowerShell-Konsole in Azure Data Studio, um die Ergebnisse des SQL-Notizbuchs direkt in Azure Data Studio auszuführen Invoke-SqlNotebook und Open-EditorFile zu öffnen.
Invoke-SqlNotebook -ServerInstance ServerA -Database master -InputFile "$home\Documents\SQL Server Management Studio\BPCheck.ipynb" |
Open-EditorFile
Hinweis: Der Open-EditorFile Befehl ist nur in der integrierten PowerShell-Konsole verfügbar.
Beispiel 6: Ausführen eines Notizbuchs, Herstellen einer Verbindung mit Azure SQL-Datenbanken (oder verwalteten Instanzen) mithilfe eines Dienstprinzipals
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
Parameter
-AccessToken
Das Zugriffstoken, das zur Authentifizierung bei SQL Server verwendet wird, als Alternative zur Benutzer-/Kennwort- oder Windows-Authentifizierung.
Dies kann z. B. verwendet werden, um eine Verbindung mit SQL Azure DB einer SQL Azure Managed Instance oder einer oder einer Service PrincipalManaged Identity herzustellen (siehe Verweise unten auf dieser Seite)
In gängigen Szenarien wird dieser Parameter mit etwas wie (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token (erfordert das Az.Account-Modul) abgerufen.
Geben Sie bei Verwendung dieses Parameters nicht "UserName", " Password" oder "Credential " an.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ConnectionString
Gibt eine Verbindungszeichenfolge an, die mit dem Server verbunden werden soll.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionString
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Das PSCredential-Objekt, dessen Felder "Benutzername" und "Kennwort" zum Herstellen einer Verbindung mit der SQL-Instanz verwendet werden.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Database
Mit diesem Cmdlet wird eine Verbindung mit dieser Datenbank in der Instanz hergestellt, die im Parameter "ServerInstance" angegeben ist.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Encrypt
Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.
Dieser Wert ist der Encrypt Eigenschaft SqlConnectionEncryptOption für das SqlConnection-Objekt des Microsoft.Data.SqlClient-Treibers zugeordnet.
In v22 des Moduls ist Optional der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "Verpflichtend", wodurch für vorhandene Skripts eine bahnbrechende Änderung erstellt werden kann.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | Mandatory, Optional, Strict |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Wenn das Cmdlet das materialisierte Notizbuch in eine Datei schreibt, wird standardmäßig eine Überprüfung durchgeführt, um zu verhindern, dass der Benutzer versehentlich eine vorhandene Datei überschreibt. Wird -Force verwendet, um diese Überprüfung zu umgehen und dem Cmdlet das Überschreiben der vorhandenen Datei zu ermöglichen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-HostNameInCertificate
Der Hostname, der beim Überprüfen des TLS/SSL-Zertifikats von SQL Server verwendet werden soll.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputFile
Gibt eine Notizbuchdatei (IPYNB) an, die über das Cmdlet ausgeführt wird.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
ByConnectionString
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt das Notizbuch als JSON-Zeichenfolge an, die als Eingabenotizbuch verwendet wird.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
ByConnectionString
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OutputFile
Gibt die gewünschte Ausgabenotizbuchdatei an, für die das ausgeführte Notizbuch gespeichert wird.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Password
Gibt das Kennwort für die ANMELDE-ID der SQL Server-Authentifizierung an, die im Parameter "Username" angegeben wurde.
Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Verwenden Sie nach Möglichkeit die Windows-Authentifizierung, oder verwenden Sie stattdessen den Parameter "-Credential ".
Wenn Sie den Parameter "Password" gefolgt von Ihrem Kennwort angeben, ist das Kennwort für jeden sichtbar, der Ihren Monitor sehen kann.
Wenn Sie das Kennwort gefolgt von Ihrem Kennwort in einem .ps1 Skript codieren, wird Ihr Kennwort von jedem Benutzer angezeigt, der die Skriptdatei liest.
Weisen Sie der Datei die entsprechenden NTFS-Berechtigungen zu, um zu verhindern, dass andere Benutzer die Datei lesen können.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ServerInstance
Gibt eine Zeichenfolge oder ein SMO-Objekt (SQL Server Management Objects) an, das den Namen einer Instanz des Datenbankmoduls angibt.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TrustServerCertificate
Gibt an, ob der Kanal verschlüsselt wird, während die Zertifikatkette umgangen wird, um die Vertrauensstellung zu überprüfen.
In v22 des Moduls ist $true der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "$false", wodurch möglicherweise eine änderung für vorhandene Skripts geändert wird.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Username
Gibt die Anmelde-ID zum Herstellen einer SQL Server-Authentifizierungsverbindung zu einer Instanz des Datenbankmoduls an.
Das Kennwort muss über den Parameter "Password" angegeben werden.
Wenn Benutzername und Kennwort nicht angegeben sind, versucht dieses Cmdlet eine Windows-Authentifizierungsverbindung mit dem Windows-Konto, das die Windows PowerShell-Sitzung ausführt. Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByConnectionParameters
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
System.Object
System.Management.Automation.PSCredential
Ausgaben
System.Object
Hinweise
Eine gute Möglichkeit zum Visualisieren eines materialisierten Notizbuchs ist die Verwendung von Azure Data Studio.