Dukungan Editor PowerShell untuk Azure Data Studio
Ekstensi ini menyediakan dukungan editor PowerShell yang kaya di Azure Data Studio. Sekarang Anda dapat menulis dan men-debug skrip PowerShell menggunakan antarmuka seperti IDE yang sangat baik yang disediakan Azure Data Studio.
Fitur
- Penyorotan sintaks
- Cuplikan kode
- IntelliSense untuk cmdlet dan banyak lagi
- Analisis berbasis aturan yang disediakan oleh PowerShell Script Analyzer
- Buka Definisi cmdlet dan variabel
- Menemukan Referensi cmdlet dan variabel
- Penemuan simbol dokumen dan ruang kerja
- Jalankan pilihan kode PowerShell yang dipilih menggunakan F8
- Luncurkan bantuan online untuk simbol di bawah kursor menggunakan Ctrl+F1
- Dukungan konsol interaktif dasar!
Menginstal Ekstensi
Anda dapat menginstal rilis resmi ekstensi PowerShell dengan mengikuti langkah-langkah dalam dokumentasi Azure Data Studio. Di panel Ekstensi, cari ekstensi "PowerShell" dan instal di sana. Anda akan mendapatkan pemberitahuan secara otomatis tentang pembaruan ekstensi di masa mendatang!
Anda juga dapat menginstal paket VSIX dari halaman Rilis kami dan menginstalnya melalui baris perintah:
azuredatastudio --install-extension PowerShell-<version>.vsix
Dukungan platform
- Windows 7 hingga 10 dengan Windows PowerShell v3 dan yang lebih tinggi, dan PowerShell Core
- Linux dengan PowerShell Core (semua distribusi yang didukung PowerShell)
- macOS dengan PowerShell Core
Baca FAQ untuk jawaban atas pertanyaan umum.
Menginstal PowerShell Core
Jika Anda menjalankan Azure Data Studio di macOS atau Linux, Anda mungkin juga perlu menginstal PowerShell Core.
PowerShell Core adalah proyek Sumber Terbuka di GitHub. Untuk informasi selengkapnya tentang menginstal PowerShell Core di platform macOS atau Linux, lihat artikel berikut ini:
Contoh Skrip
Ada beberapa contoh skrip di folder ekstensi examples
yang dapat Anda gunakan untuk menemukan fungsionalitas pengeditan dan penelusuran kesalahan PowerShell. Lihat file README.md yang disertakan untuk mempelajari selengkapnya tentang cara menggunakannya.
Folder ini dapat ditemukan di jalur berikut:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
atau jika Anda menggunakan versi pratinjau ekstensi
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Untuk membuka/melihat contoh ekstensi di Azure Data Studio, jalankan kode berikut dari prompt perintah PowerShell Anda:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Membuat dan membuka file
Untuk membuat dan membuka file baru di dalam editor, gunakan New-EditorFile dari dalam Terminal Terintegrasi PowerShell.
PS C:\temp> New-EditorFile ExportData.ps1
Perintah ini berfungsi untuk jenis file apa pun, bukan hanya file PowerShell.
PS C:\temp> New-EditorFile ImportData.py
Untuk membuka satu atau beberapa file di Azure Data Studio, gunakan Open-EditorFile
perintah .
Open-EditorFile ExportData.ps1, ImportData.py
Tidak ada fokus pada konsol saat menjalankan
Bagi pengguna yang terbiasa bekerja dengan SSMS, Anda terbiasa dapat menjalankan kueri, lalu dapat menjalankannya kembali tanpa harus beralih kembali ke panel kueri. Dalam hal ini, perilaku default editor kode mungkin terasa aneh untuk Anda. Untuk menjaga fokus di editor saat Anda menjalankan dengan F8 , ubah pengaturan berikut:
"powershell.integratedConsole.focusConsoleOnExecute": false
Defaultnya adalah true
untuk tujuan aksesibilitas.
Ketahuilah pengaturan ini akan mencegah fokus berubah ke konsol, bahkan ketika Anda menggunakan perintah yang secara eksplisit memanggil input, seperti Get-Credential
.
Contoh PowerShell SQL
Untuk menggunakan contoh-contoh ini (di bawah), Anda perlu menginstal modul SqlServer dari Galeri PowerShell.
Install-Module -Name SqlServer
Catatan
Dengan versi 21.1.18102
dan yang SqlServer
lebih baru, modul mendukung PowerShell Core 6.2 dan yang lebih baru, selain Windows PowerShell.
Dalam contoh ini, kami menggunakan Get-SqlInstance
cmdlet untuk Mendapatkan objek SMO Server untuk ServerA & ServerB. Output default untuk perintah ini akan mencakup Nama instans, versi, Paket Layanan, & Tingkat Pembaruan CU instans.
Get-SqlInstance -ServerInstance ServerA, ServerB
Berikut adalah sampel tampilan output tersebut:
Instance Name Version ProductLevel UpdateLevel HostPlatform HostDistribution
------------- ------- ------------ ----------- ------------ ----------------
ServerA 13.0.5233 SP2 CU4 Windows Windows Server 2016 Datacenter
ServerB 14.0.3045 RTM CU12 Linux Ubuntu
Modul SqlServer
berisi Penyedia yang dipanggil SQLRegistration
yang memungkinkan Anda mengakses jenis koneksi SQL Server tersimpan berikut:
- Server Mesin Database (Server Terdaftar)
- Server Manajemen Pusat (CMS)
- Analysis Services
- Layanan Integrasi
- Layanan Pelaporan
Dalam contoh berikut, kami akan melakukan dir
(alias untuk Get-ChildItem
) untuk mendapatkan daftar semua instans SQL Server yang tercantum dalam file Server Terdaftar Anda.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Berikut adalah sampel seperti apa output itu:
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
Untuk banyak operasi yang melibatkan database, atau objek dalam database, Get-SqlDatabase
cmdlet dapat digunakan. Jika Anda menyediakan nilai untuk -ServerInstance
parameter dan -Database
, hanya satu objek database yang akan diambil. Namun, jika Anda hanya menentukan parameter, daftar lengkap semua database pada instans tersebut -ServerInstance
akan dikembalikan.
Berikut adalah sampel tampilan output tersebut:
Name Status Size Space Recovery Compat. Owner
Available Model Level
---- ------ ---- ---------- -------- ------- -----
AdventureWorks2017 Normal 336.00 MB 57.01 MB Simple 140 sa
master Normal 6.00 MB 368.00 KB Simple 140 sa
model Normal 16.00 MB 5.53 MB Full 140 sa
msdb Normal 48.44 MB 1.70 MB Simple 140 sa
PBIRS Normal 144.00 MB 55.95 MB Full 140 sa
PBIRSTempDB Normal 16.00 MB 4.20 MB Simple 140 sa
SSISDB Normal 325.06 MB 26.21 MB Full 140 sa
tempdb Normal 72.00 MB 61.25 MB Simple 140 sa
WideWorldImporters Normal 3.2 GB 2.6 GB Simple 130 sa
Contoh berikutnya menggunakan Get-SqlDatabase
cmdlet untuk mengambil daftar semua database pada instans ServerB, lalu menyajikan kisi/tabel (menggunakan Out-GridView
cmdlet) untuk memilih database mana yang harus dicadangkan. Setelah pengguna mengklik tombol "OK", hanya database yang disorot yang akan dicadangkan.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
Contoh ini, sekali lagi, mendapatkan daftar semua instans SQL Server yang tercantum dalam file Server Terdaftar Anda, lalu memanggil Get-SqlAgentJobHistory
laporan mana yang melaporkan setiap Pekerjaan Agen SQL yang gagal sejak Tengah Malam, untuk setiap instans SQL Server yang tercantum.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
Dalam contoh ini, kami akan melakukan dir
(alias untuk Get-ChildItem
) untuk mendapatkan daftar semua instans SQL Server yang tercantum dalam file Server Terdaftar Anda, lalu menggunakan cmdlet untuk mendapatkan daftar Database untuk masing-masing instans tersebut Get-SqlDatabase
.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Berikut adalah sampel tampilan output tersebut:
Name Status Size Space Recovery Compat. Owner
Available Model Level
---- ------ ---- ---------- -------- ------- -----
AdventureWorks2017 Normal 336.00 MB 57.01 MB Simple 140 sa
master Normal 6.00 MB 368.00 KB Simple 140 sa
model Normal 16.00 MB 5.53 MB Full 140 sa
msdb Normal 48.44 MB 1.70 MB Simple 140 sa
PBIRS Normal 144.00 MB 55.95 MB Full 140 sa
PBIRSTempDB Normal 16.00 MB 4.20 MB Simple 140 sa
SSISDB Normal 325.06 MB 26.21 MB Full 140 sa
tempdb Normal 72.00 MB 61.25 MB Simple 140 sa
WideWorldImporters Normal 3.2 GB 2.6 GB Simple 130 sa
Masalah Pelaporan
Jika Anda mengalami masalah dengan Ekstensi PowerShell, lihat dokumen pemecahan masalah untuk informasi tentang mendiagnosis dan melaporkan masalah.
Catatan Keamanan
Untuk masalah keamanan apa pun, lihat di sini.
Berkontribusi pada Kode
Lihat dokumentasi pengembangan untuk detail selengkapnya tentang cara berkontribusi pada ekstensi ini!
Pengelola
- Keith Hill - @r_keith_hill
- Tyler Leonhardt - @TylerLeonhardt
- Rob Holt
Lisensi
Ekstensi ini dilisensikan di bawah Lisensi MIT. Untuk detail tentang biner pihak ketiga yang kami sertakan dengan rilis proyek ini, lihat file pemberitahuan pihak ketiga.
Kode Etik
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat FAQ Kode Etik atau hubungi opencode@microsoft.com untuk mengajukan pertanyaan atau komentar tambahan.