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.

PowerShell extension

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

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.