Dukungan Editor PowerShell untuk Azure Data Studio

Penting

Azure Data Studio dihentikan per 28 Februari 2026. Anda harus bermigrasi ke Visual Studio Code. Untuk informasi selengkapnya, lihat Apa yang terjadi dengan 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.

Ekstensi PowerShell

Features

  • Penyorotan sintaksis
  • Cuplikan kode
  • IntelliSense untuk cmdlet dan lainnya
  • Analisis berbasis aturan yang disediakan oleh PowerShell Script Analyzer
  • Buka Definisi cmdlet dan variabel
  • Temukan 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 mencegah fokus berubah ke konsol, bahkan ketika Anda menggunakan perintah yang secara eksplisit memanggil input, seperti Get-Credential.

Contoh SQL PowerShell

Untuk menggunakan contoh berikut, Anda perlu menginstal modul SqlServer dari Galeri PowerShell.

Install-Module -Name SqlServer

Nota

Dengan versi 21.1.18102 dan seterusnya, modul SqlServer mendukung PowerShell Core 6.2 atau lebih baru, selain Windows PowerShell.

Dalam contoh ini, kami menggunakan cmdlet untuk mendapatkan objek SMO server untuk ServerA & ServerB. Output bawaan untuk perintah ini mencakup Nama Instans, versi, Paket Layanan, dan 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 disebut 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 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 tampilan output tersebut:

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 diambil. Namun, jika Anda menentukan parameter -ServerInstance saja, daftar lengkap semua database pada instans tersebut 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 memilih tombol "OK", hanya database yang disorot 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, 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 melakukan dir (alias untuk Get-ChildItem) untuk mendapatkan daftar semua instans SQL Server yang tercantum dalam file Server Terdaftar Anda, lalu menggunakan cmdlet Get-SqlDatabase untuk mendapatkan daftar database untuk masing-masing instans tersebut.

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 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.