Invoke-SqlNotebook
Menjalankan file SQL Notebook (.ipynb) dan menghasilkan notebook materialisasi.
Sintaks
ByConnectionParameters (Default)
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>]
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 -OutputFile yang diteruskan, notebook materialisasi disimpan di disk dengan nama yang sama dengan InputFile dengan _out sebagai akhiran ke nama file (notebook.ipynb -> notebook_out.ipynb)
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 -OutputFile .
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, NetName properti instans SQL Server akan disertakan dalam nama file output; notebook yang diwujudkan akan diberi stempel waktu dengan menit jam sebulan setiap hari.
Contoh 5: Jalankan Notebook, Buka Hasil di Azure Data Studio
Instal ekstensi PowerShell dari marketplace Azure Data Studio.
Gunakan Konsol Terintegrasi PowerShell di Azure Data Studio untuk menjalankan Invoke-SqlNotebook dan menggunakan Open-EditorFile untuk membuka hasil Notebook SQL langsung di Azure Data Studio.
Invoke-SqlNotebook -ServerInstance ServerA -Database master -InputFile "$home\Documents\SQL Server Management Studio\BPCheck.ipynb" |
Open-EditorFile
Catatan: Open-EditorFile Perintah 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 dan SQL Azure DBSQL 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 UserName, Password, atau Credential saat menggunakan parameter ini.
Properti parameter
| Jenis: | PSObject |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ConnectionString
Menentukan string koneksi untuk menyambungkan ke server.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionString
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Credential
Objek PSCredential yang bidang Nama Pengguna dan Kata Sandinya akan digunakan untuk menyambungkan ke instans SQL.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Database
Cmdlet ini tersambung ke database ini dalam instans yang ditentukan dalam parameter ServerInstance.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Encrypt
Jenis enkripsi yang akan digunakan saat menyambungkan ke SQL Server.
Nilai ini memetakan ke Encrypt properti SqlConnectionEncryptOption pada objek SqlConnection dari 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Nilai yang diterima: | Mandatory, Optional, Strict |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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 memungkinkan cmdlet menimpa file yang ada.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-HostNameInCertificate
Nama host yang akan digunakan dalam memvalidasi sertifikat SQL Server TLS/SSL.
Parameter ini baru dalam v22 modul.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputFile
Menentukan File Notebook (.ipynb) yang akan dijalankan melalui cmdlet.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
ByConnectionString
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputObject
Menentukan Notebook sebagai string Json yang akan digunakan sebagai buku catatan input.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
ByConnectionString
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-OutputFile
Menentukan file Notebook output yang diinginkan tempat Notebook yang dijalankan akan disimpan.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Password
Menentukan kata sandi untuk ID masuk Autentikasi SQL Server yang ditentukan dalam parameter Nama Pengguna.
Kata sandi sensitif terhadap huruf besar dan kecil. Jika memungkinkan, gunakan Autentikasi Windows, atau pertimbangkan untuk menggunakan parameter -Credential sebagai gantinya.
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.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ServerInstance
Menentukan string karakter atau objek SQL Server Management Objects (SMO) yang menentukan nama instans Mesin Database.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ByConnectionParameters
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
System.Object
System.Management.Automation.PSCredential
Output
System.Object
Catatan
Cara yang baik untuk memvisualisasikan Notebook materialisasi adalah dengan menggunakan Azure Data Studio.