PowerShell-szerkesztő támogatása az Azure Data Studióhoz

Ez a bővítmény gazdag PowerShell-szerkesztői támogatást nyújt az Azure Data Studióban. Mostantól PowerShell-szkripteket írhat és hibakeresést végezhet az Azure Data Studio kiváló IDE-szerű felületével.

PowerShell extension

Funkciók

  • Szintaxiskiemelés
  • Kódminták
  • IntelliSense parancsmagokhoz és egyebekhez
  • A PowerShell-szkriptelemző által biztosított szabályalapú elemzés
  • Ugrás a parancsmagok és változók definíciójára
  • Parancsmagok és változók hivatkozásainak keresése
  • Dokumentum- és munkaterületszimbólumok felderítése
  • A PowerShell-kód kijelölt kiválasztásának futtatása az F8 használatával
  • Online súgó indítása a kurzor alatti szimbólumhoz a Ctrl F1 billentyűkombinációval +
  • Alapszintű interaktív konzoltámogatás!

A bővítmény telepítése

A PowerShell-bővítmény hivatalos kiadását az Azure Data Studio dokumentációjának lépéseit követve telepítheti. A Bővítmények panelen keressen rá a "PowerShell" bővítményre, és telepítse ott. A bővítmény jövőbeli frissítéseiről automatikusan értesítést kap!

A VSIX-csomagokat a Kiadások lapról is telepítheti, és a parancssoron keresztül telepítheti:

azuredatastudio --install-extension PowerShell-<version>.vsix

Platformtámogatás

  • Windows 7–10 a Windows PowerShell 3-as vagy újabb verziójával és a PowerShell Core-ral
  • Linux és PowerShell Core (minden PowerShell által támogatott disztribúció)
  • macOS és PowerShell Core

A gyakori kérdésekre adott válaszokért olvassa el a gyakori kérdéseket.

A PowerShell Core telepítése

Ha macOS vagy Linux rendszeren futtatja az Azure Data Studiót, előfordulhat, hogy a PowerShell Core-t is telepítenie kell.

A PowerShell Core egy nyílt forráskódú projekt a GitHubon. A PowerShell Core macOS- vagy Linux-platformokon való telepítéséről az alábbi cikkekben talál további információt:

Példaszkriptek

A bővítmény mappájában examples néhány példaszkript található, amelyekkel felfedezheti a PowerShell szerkesztési és hibakeresési funkcióit. A használatukról további információt a mellékelt README.md fájlban olvashat.

Ez a mappa a következő elérési úton található:

$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples

vagy ha a bővítmény előzetes verzióját használja

$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples

A bővítmény példáinak az Azure Data Studióban való megnyitásához/megtekintéséhez futtassa a következő kódot a PowerShell parancssorából:

azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]

Fájlok létrehozása és megnyitása

Ha új fájlt szeretne létrehozni és megnyitni a szerkesztőben, használja a New-EditorFile fájlt a PowerShell integrált termináljából.

PS C:\temp> New-EditorFile ExportData.ps1

Ez a parancs bármilyen fájltípushoz használható, nem csak PowerShell-fájlokhoz.

PS C:\temp> New-EditorFile ImportData.py

Ha egy vagy több fájlt szeretne megnyitni az Azure Data Studióban, használja a Open-EditorFile parancsot.

Open-EditorFile ExportData.ps1, ImportData.py

Nincs fókusz a konzolon a végrehajtáskor

Azok a felhasználók, akik az SSMS-sel dolgoznak, megszokhatták, hogy végrehajthat egy lekérdezést, majd újra végrehajthatja anélkül, hogy vissza kellene váltania a lekérdezéspanelre. Ebben az esetben a kódszerkesztő alapértelmezett viselkedése furcsának tűnhet Önnek. Ha a szerkesztőben szeretné tartani a fókuszt az F8-nal végzett végrehajtáskor, módosítsa az alábbi beállítást:

"powershell.integratedConsole.focusConsoleOnExecute": false

Az alapértelmezett beállítás true a kisegítő lehetőségekre szolgál.

Vegye figyelembe, hogy ez a beállítás megakadályozza, hogy a fókusz a konzolra váltson, még akkor is, ha olyan parancsot használ, amely explicit módon kéri a bemenetet, például Get-Credential.

SQL PowerShell-példák

Az alábbi példák használatához telepítenie kell az SqlServer modult a PowerShell-galéria.

Install-Module -Name SqlServer

Megjegyzés:

A verzió és a fel verziójú 21.1.18102 modul a Windows PowerShell mellett támogatja a SqlServer PowerShell Core 6.2-es és újabb verzióit is.

Ebben a példában a Get-SqlInstance parancsmaggal szerezzük be a ServerA & ServerB kiszolgálói SMO-objektumait. A parancs alapértelmezett kimenete a példányok példánynevét, verzióját, szervizcsomagját és & CU frissítési szintjét tartalmazza.

Get-SqlInstance -ServerInstance ServerA, ServerB

Íme egy példa a kimenet megjelenésére:

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

A SqlServer modul tartalmaz egy szolgáltatót, SQLRegistration amely lehetővé teszi a mentett SQL Server-kapcsolatok programozott elérését:

  • Adatbázismotor-kiszolgáló (regisztrált kiszolgálók)
  • Központi felügyeleti kiszolgáló (CMS)
  • Analysis Services
  • Integrációs szolgáltatások
  • Jelentéskészítő szolgáltatások

Az alábbi példában egy dir (alias for Get-ChildItem) műveletet hajtunk végre a regisztrált kiszolgálók fájljában felsorolt összes SQL Server-példány listájának lekéréséhez.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse

Íme egy példa a kimenet megjelenésére:

Mode Name
---- ----
-    ServerA
-    ServerB
-    localhost\SQL2017
-    localhost\SQL2016Happy
-    localhost\SQL2017

Számos olyan művelethez, amely adatbázist vagy adatbázison belüli objektumot tartalmaz, a Get-SqlDatabase parancsmag használható. Ha mind a paraméterek, mind a -ServerInstance-Database paraméterek értékeit adja meg, a rendszer csak azt az adatbázis-objektumot kéri le. Ha azonban csak a paramétert adja meg, a rendszer visszaadja az -ServerInstance adott példány összes adatbázisának teljes listáját.

Íme egy példa a kimenet megjelenésére:

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

Ez a következő példa a Get-SqlDatabase parancsmaggal lekéri a ServerB-példány összes adatbázisának listáját, majd egy rácsot/táblát mutat be (a Out-GridView parancsmag használatával) annak kiválasztásához, hogy mely adatbázisokról kell biztonsági másolatot készíteni. Miután a felhasználó az "OK" gombra kattint, csak a kiemelt adatbázisokról készít biztonsági másolatot.

Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On

Ez a példa ismét lekéri a regisztrált kiszolgálók fájljában felsorolt ÖSSZES SQL Server-példány listáját, majd meghívja az Get-SqlAgentJobHistory összes sikertelen SQL Agent-feladatot éjfél óta, minden felsorolt SQL Server-példányhoz.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
    Get-SqlAgentJobHistory -ServerInstance  $_.Name -Since Midnight -OutcomesType Failed
}

Ebben a példában létrehozunk egy dir (alias) Get-ChildItemparancsot a regisztrált kiszolgálók fájljában felsorolt összes SQL Server-példány listájának lekéréséhez, majd a Get-SqlDatabase parancsmag használatával lekérjük az egyes példányok adatbázisainak listáját.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
    Get-SqlDatabase -ServerInstance $_.Name
}

Íme egy példa a kimenet megjelenésére:

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

Jelentéskészítési problémák

Ha bármilyen problémát tapasztal a PowerShell-bővítménysel kapcsolatban, tekintse meg a hibaelhárítási dokumentációt a problémák diagnosztizálásával és jelentésével kapcsolatos információkért.

Biztonsági megjegyzés

A biztonsági problémákról itt olvashat.

Hozzájárulás a kódhoz

A bővítményhez való hozzájárulásról további információt a fejlesztési dokumentációban talál!

Karbantartók

Licenc

Ez a bővítmény az MIT licenccel rendelkezik. A projekt kiadásait tartalmazó harmadik fél bináris fájljaival kapcsolatos részletekért tekintse meg a külső felek értesítési fájlját .

Viselkedési szabályzat

Ez a projekt a Microsoft nyílt forráskóddal kapcsolatos viselkedési szabályzata alapján működik. További információért tekintse át a viselkedési szabályzat GYIK dokumentumát, illetve további kérdések vagy megjegyzések esetén írjon az opencode@microsoft.com e-mail-címre.