Invoke-SqlNotebook
Menjalankan file SQL Notebook (.ipynb) dan menghasilkan notebook materialisasi.
Sintaks
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>]
Deskripsi
Cmdlet Invoke-SqlNotebook menjalankan file SQL Notebook (.ipynb) dan menghasilkan notebook materialisasi.
Notebook akan dijalankan pada ServerInstance dan Database yang disediakan.
Saat cmdlet dijalankan, file Notebook yang dihasilkan akan berada di lokasi yang ditentukan pengguna atau di direktori file buku catatan input yang sama.
Outfile cmdlet dapat dihilangkan: jika demikian, itu akan dibuat dengan nama file input dan _out ditambahkan ke file.
Contoh
Contoh 1: Jalankan Notebook terhadap server lokal (instans default)
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
Perintah ini menjalankan notebook terhadap instans default SQL Server yang berjalan pada komputer tempat cmdlet dijalankan.
Secara default, karena tidak ada
Contoh 2: Jalankan Notebook di server lokal (instans defaut) dan simpan Notebook materialisasi ke file tertentu
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
Perintah ini menjalankan notebook terhadap instans default SQL Server yang berjalan pada komputer tempat cmdlet dijalankan.
Notebook yang dijalankan kemudian disimpan ke file yang ditentukan dengan parameter
Contoh 3: Jalankan Notebook menggunakan parameter -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
Ini sama dengan Contoh 1, hanya koneksi ke server yang ditentukan melalui parameter -ConnectionString.
Contoh 4: Jalankan Notebook Terhadap Semua Server Terdaftar
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";
}
}
Gunakan Server Terdaftar atau Server Manajemen Pusat untuk menjalankan Invoke-SqlNotebook terhadap beberapa server.
Dalam contoh ini, properti NetName
instans SQL Server akan disertakan dalam nama file output; notebook materialisasi akan diberi stempel waktu dengan menit jam sebulan-hari.
Contoh 5: Jalankan Notebook, Buka Hasil di Azure Data Studio
Instal ekstensi PowerShell Invoke-SqlNotebook
dan menggunakan Open-EditorFile
untuk membuka hasil SQL Notebook langsung di Azure Data Studio.
Invoke-SqlNotebook -ServerInstance ServerA -Database master -InputFile "$home\Documents\SQL Server Management Studio\BPCheck.ipynb" |
Open-EditorFile
Catatan: Perintah Open-EditorFile
hanya tersedia di Konsol Terintegrasi PowerShell.
Contoh 6: Jalankan Notebook, Sambungkan ke Azure SQL Databases (atau Instans Terkelola) menggunakan Perwakilan Layanan
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
Token akses yang digunakan untuk mengautentikasi ke SQL Server, sebagai alternatif untuk pengguna/kata sandi atau Autentikasi Windows.
Ini dapat digunakan, misalnya, untuk menyambungkan ke SQL Azure DB
dan SQL Azure Managed Instance
menggunakan Service Principal
atau Managed Identity
(lihat referensi di bagian bawah halaman ini)
Dalam skenario umum, parameter ini diperoleh dengan sesuatu seperti (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token
(memerlukan modul Az.Account)
Jangan tentukan
Jenis: | PSObject |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ConnectionString
Menentukan string koneksi untuk menyambungkan ke server.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Objek PSCredential yang bidang Nama Pengguna dan Kata Sandinya akan digunakan untuk menyambungkan ke instans SQL.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Database
Cmdlet ini tersambung ke database ini dalam instans yang ditentukan dalam parameter ServerInstance.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Encrypt
Jenis enkripsi yang akan digunakan saat menyambungkan ke SQL Server.
Nilai ini memetakan ke properti Encrypt
SqlConnectionEncryptOption
pada objek SqlConnection driver Microsoft.Data.SqlClient.
Dalam v22 modul, defaultnya adalah Optional
(untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah 'Wajib', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.
Parameter ini baru dalam v22 modul.
Jenis: | String |
Nilai yang diterima: | Mandatory, Optional, Strict |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Force
Secara default, ketika cmdlet menulis buku catatan materialisasi ke file, pemeriksaan dilakukan untuk mencegah pengguna menimpa file yang ada secara tidak sengaja. Gunakan -Force
untuk melewati pemeriksaan ini dan izinkan cmdlet menimpa file yang ada.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-HostNameInCertificate
Nama host yang akan digunakan dalam memvalidasi sertifikat SQL Server TLS/SSL.
Parameter ini baru dalam v22 modul.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputFile
Menentukan File Notebook (.ipynb) yang akan dijalankan melalui cmdlet.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputObject
Menentukan Notebook sebagai string Json yang akan digunakan sebagai buku catatan input.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-OutputFile
Menentukan file Notebook output yang diinginkan tempat Notebook yang dijalankan akan disimpan.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Password
Menentukan kata sandi untuk ID masuk Autentikasi SQL Server yang ditentukan dalam parameter Nama Pengguna.
Kata sandi peka huruf besar/kecil. Jika memungkinkan, gunakan Autentikasi Windows, atau pertimbangkan untuk menggunakan parameter
Jika Anda menentukan parameter Kata Sandi diikuti oleh kata sandi Anda, kata sandi akan terlihat oleh siapa pun yang dapat melihat monitor Anda.
Jika Anda membuat kode Kata Sandi diikuti dengan kata sandi Anda dalam skrip .ps1, siapa pun yang membaca file skrip akan melihat kata sandi Anda.
Tetapkan izin NTFS yang sesuai ke file untuk mencegah pengguna lain dapat membaca file.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ProgressAction
Menentukan bagaimana PowerShell merespons pembaruan kemajuan yang dihasilkan oleh skrip, cmdlet, atau penyedia, seperti bilah kemajuan yang dihasilkan oleh cmdlet Write-Progress. cmdlet Write-Progress membuat bilah kemajuan yang memperlihatkan status perintah.
Jenis: | ActionPreference |
Alias: | proga |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ServerInstance
Menentukan string karakter atau objek SQL Server Management Objects (SMO) yang menentukan nama instans Mesin Database.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-TrustServerCertificate
Menunjukkan apakah saluran akan dienkripsi saat melewati rantai sertifikat untuk memvalidasi kepercayaan.
Dalam v22 modul, defaultnya adalah $true
(untuk kompatibilitas dengan v21). Dalam v23+ modul, nilai defaultnya adalah '$false', yang dapat membuat perubahan yang melanggar untuk skrip yang ada.
Parameter ini baru dalam v22 modul.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Username
Menentukan ID masuk untuk membuat koneksi Autentikasi SQL Server ke instans Mesin Database.
Kata sandi harus ditentukan melalui parameter Kata Sandi.
Jika Nama Pengguna dan Kata Sandi tidak ditentukan, cmdlet ini mencoba koneksi Autentikasi Windows menggunakan akun Windows yang menjalankan sesi Windows PowerShell. Jika memungkinkan, gunakan Autentikasi Windows.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
System.Object
System.Management.Automation.PSCredential
Output
System.Object
Catatan
Cara yang baik untuk memvisualisasikan Notebook materialisasi adalah dengan menggunakan Azure Data Studio.