Azure Data Studio için PowerShell Düzenleyicisi Desteği
Bu uzantı, Azure Data Studio'da zengin PowerShell düzenleyicisi desteği sağlar. Artık Azure Data Studio tarafından sunulan IDE benzeri mükemmel arabirimi kullanarak PowerShell betikleri yazabilir ve hatalarını ayıklayabilirsiniz.
Özellikler
- Söz dizimi vurgulaması
- Kod parçacıkları
- Cmdlet'ler ve daha fazlası için IntelliSense
- PowerShell Betik Çözümleyicisi tarafından sağlanan kural tabanlı analiz
- Cmdlet'lerin ve değişkenlerin tanımına gidin
- Cmdlet'lerin ve değişkenlerin Başvurularını Bulma
- Belge ve çalışma alanı simgesi bulma
- F8 kullanarak seçili PowerShell kodu seçimini çalıştırma
- Ctrl+F1 kullanarak imlecin altındaki simge için çevrimiçi yardım başlatma
- Temel etkileşimli konsol desteği!
Uzantıyı Yükleme
Azure Data Studio belgelerindeki adımları izleyerek PowerShell uzantısının resmi sürümünü yükleyebilirsiniz. Uzantılar bölmesinde "PowerShell" uzantısını arayın ve buraya yükleyin. Gelecekteki uzantı güncelleştirmeleri hakkında otomatik olarak bilgilendirilirsiniz!
Ayrıca Yayınlar sayfamızdan bir VSIX paketi yükleyebilir ve komut satırı aracılığıyla yükleyebilirsiniz:
azuredatastudio --install-extension PowerShell-<version>.vsix
Platform desteği
- Windows PowerShell v3 ve üzeri yüklü Windows 7 ile 10 arasında ve PowerShell Core
- PowerShell Core ile Linux (PowerShell tarafından desteklenen tüm dağıtımlar)
- PowerShell Core ile macOS
Sık sorulan soruların yanıtları için SSS bölümünü okuyun.
PowerShell Core'u yükleme
MacOS veya Linux üzerinde Azure Data Studio çalıştırıyorsanız PowerShell Core'u da yüklemeniz gerekebilir.
PowerShell Core, GitHub'da bir Açık Kaynak projesidir. PowerShell Core'u macOS veya Linux platformlarına yükleme hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Örnek Betikler
Uzantının examples
klasöründe PowerShell düzenleme ve hata ayıklama işlevlerini keşfetmek için kullanabileceğiniz bazı örnek betikler vardır. Bunların nasıl kullanılacağı hakkında daha fazla bilgi edinmek için eklenen README.md dosyasına göz atın.
Bu klasör aşağıdaki yolda bulunabilir:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
veya uzantının önizleme sürümünü kullanıyorsanız
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Uzantının örneklerini Azure Data Studio'da açmak/görüntülemek için PowerShell komut isteminizden aşağıdaki kodu çalıştırın:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Dosya oluşturma ve açma
Düzenleyicide yeni bir dosya oluşturmak ve açmak için PowerShell Tümleşik Terminali'nin içinden New-EditorFile dosyasını kullanın.
PS C:\temp> New-EditorFile ExportData.ps1
Bu komut yalnızca PowerShell dosyaları için değil, herhangi bir dosya türünde çalışır.
PS C:\temp> New-EditorFile ImportData.py
Azure Data Studio'da bir veya daha fazla dosya açmak için komutunu kullanın Open-EditorFile
.
Open-EditorFile ExportData.ps1, ImportData.py
Yürütülürken konsola odaklanma yok
SSMS ile çalışmaya alışkın olan kullanıcılar için bir sorguyu yürütmeye ve ardından sorgu bölmesine geri dönmek zorunda kalmadan yeniden yürütmeye alışmış olursunuz. Bu durumda, kod düzenleyicisinin varsayılan davranışı size garip gelebilir. F8 ile yürütürken odağı düzenleyicide tutmak için aşağıdaki ayarı değiştirin:
"powershell.integratedConsole.focusConsoleOnExecute": false
Varsayılan, erişilebilirlik amacıyla kullanılır true
.
Bu ayarın, gibi Get-Credential
açıkça giriş çağrısında bulunan bir komut kullandığınızda bile odağın konsola geçmesini önlediğini unutmayın.
SQL PowerShell Örnekleri
Bu örnekleri (aşağıda) kullanmak için sqlserver modülünü PowerShell Galerisi yüklemeniz gerekir.
Install-Module -Name SqlServer
Not
Sürüm 21.1.18102
ve üstü ile SqlServer
modül, Windows PowerShell'e ek olarak PowerShell Core 6.2 ve üstü sürümleri destekler.
Bu örnekte, ServerA ve ServerB için Sunucu SMO nesnelerini almak için cmdlet'ini kullanırız Get-SqlInstance
. Bu komutun varsayılan çıktısı örneklerin Örnek adı, sürümü, Hizmet Paketi ve CU Güncelleştirme Düzeyi'ni içerir.
Get-SqlInstance -ServerInstance ServerA, ServerB
Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:
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
Modül, SqlServer
aşağıdaki kaydedilmiş SQL Server bağlantısı türlerine programlı olarak erişmenizi sağlayan adlı SQLRegistration
bir Sağlayıcı içerir:
- Veritabanı Altyapısı Sunucusu (Kayıtlı Sunucular)
- Merkezi Yönetim Sunucusu (CMS)
- Analysis Services
- Tümleştirme Hizmetleri
- Raporlama Hizmetleri
Aşağıdaki örnekte, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini almak için bir dir
(diğer Get-ChildItem
ad) yapacağız.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Bu çıkışın nasıl görünebileceğine dair bir örnek aşağıda verilmiştir:
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
Bir veritabanını veya veritabanındaki nesneleri içeren birçok işlem için Get-SqlDatabase
cmdlet kullanılabilir. hem -Database
hem de -ServerInstance
parametreleri için değerler sağlarsanız, yalnızca bu veritabanı nesnesi alınır. Ancak, yalnızca parametresini -ServerInstance
belirtirseniz, bu örnekteki tüm veritabanlarının tam listesi döndürülür.
Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:
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
Bu sonraki örnek, ServerB örneğindeki tüm veritabanlarının Get-SqlDatabase
listesini almak için cmdlet'ini kullanır, ardından yedeklenecek veritabanlarını Out-GridView
seçmek için bir kılavuz/tablo (cmdlet'i kullanarak) sunar. Kullanıcı "Tamam" düğmesine tıkladıktan sonra yalnızca vurgulanan veritabanları yedeklenir.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
Bu örnek, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini alır ve listelenen Get-SqlAgentJobHistory
her SQL Server örneği için Midnight'dan bu yana başarısız olan her SQL Aracısı İşini çağırır.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
Bu örnekte, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini almak için bir dir
(diğer Get-ChildItem
ad) yapacak ve ardından cmdlet'ini kullanarak Get-SqlDatabase
bu örneklerin veritabanlarının listesini alacağız.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:
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
Sorunları Bildirme
PowerShell Uzantısı ile ilgili herhangi bir sorunla karşılaşırsanız sorunları tanılama ve raporlama hakkında bilgi için sorun giderme belgelerine bakın.
Güvenlik Notu
Güvenlik sorunları için buraya bakın.
Koda Katkıda Bulunma
Bu uzantıya nasıl katkıda bulunabileceğiniz hakkında daha fazla bilgi için geliştirme belgelerine göz atın!
Bakımcılar
- Keith Hill - @r_keith_hill
- Tyler Leonhardt - @TylerLeonhardt
- Rob Holt
Lisans
Bu uzantı MIT Lisansı kapsamında lisanslanır. Bu projenin sürümlerine dahil ettiğimiz üçüncü taraf ikili dosyaları hakkında ayrıntılı bilgi için üçüncü taraf bildirimler dosyasına bakın.
Kullanım Kuralları
Bu projede Microsoft Açık Kaynak Kullanım Şartları kabul edilmiştir. Daha fazla bilgi için Code of Conduct FAQ (Kullanım Kuralları Hakkında SSS) konusuna bakın veya sorularınızı ya da görüşlerinizi bildirmek için opencode@microsoft.com adresinden bize ulaşın.