Bagikan melalui


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.