Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важный
Azure Data Studio будет выведен из эксплуатации 28 февраля 2026 г.. Мы рекомендуем использовать Visual Studio Code. Дополнительные сведения о миграции в Visual Studio Code см. в Что происходит с Azure Data Studio?
Это расширение обеспечивает полноценную поддержку редактора PowerShell в Azure Data Studio. С его помощью вы получаете возможность создания и отладки скриптов PowerShell в интерфейсе Azure Data Studio, схожем с интегрированной средой разработки.
Функции
- Выделение синтаксиса
- Фрагменты кода
- Технология IntelliSense для командлетов и многое другое
- Анализ на основе правил с использованием анализатора скриптов PowerShell
- Перейти к определению командлетов и переменных
- Поиск ссылок на командлеты и переменные
- Обнаружение символов в документе и рабочей области
- Запуск выбранного фрагмента кода PowerShell с помощью клавиши F8
- Запуск интерактивной справки для символа под курсором с помощью сочетания клавиш CTRL+F1
- Базовая поддержка интерактивной консоли
Установка расширения
Чтобы установить официальный выпуск расширения PowerShell, выполните действия, указанные в документации по Azure Data Studio. В области "Расширения" найдите расширение PowerShell и установите его. Уведомления о последующих обновлениях этого расширения будут приходить автоматически.
Также вы можете установить пакет VSIX со страницы Выпуски и с помощью командной строки:
azuredatastudio --install-extension PowerShell-<version>.vsix
Поддержка платформы
- ОС с Windows 7 по Windows 10 с Windows PowerShell версии 3 или более поздней и PowerShell Core
- Linux с PowerShell Core (все поддерживаемые PowerShell дистрибутивы)
- macOS с PowerShell Core
Ответы на часто задаваемые вопросы см. в этой статье.
Установка PowerShell Core
Если вы работаете с Azure Data Studio в MacOS или Linux, также может потребоваться установка PowerShell Core.
PowerShell Core — это проект с открытым исходным кодом на сайте GitHub. Дополнительные сведения об установке PowerShell Core на платформах MacOS или Linux см. в следующих статьях:
Примеры скриптов
Далее приводится несколько примеров скриптов в папке расширения examples
, которые можно использовать для знакомства с возможностями редактирования и отладки PowerShell. Дополнительные сведения об их использовании см. в файле README.md.
Путь к этой папке:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
или если вы используете предварительную версию расширения
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Чтобы открыть и просмотреть примеры расширения в Azure Data Studio, выполните следующий код из командной строки PowerShell:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Создание и открытие файлов
Чтобы создать и открыть новый файл в редакторе, выполните команду New-EditorFile из встроенного терминала PowerShell.
PS C:\temp> New-EditorFile ExportData.ps1
Эта команда работает для файлов любого типа, а не только для файлов PowerShell.
PS C:\temp> New-EditorFile ImportData.py
Чтобы открыть один или несколько файлов в Azure Data Studio, воспользуйтесь командой Open-EditorFile
.
Open-EditorFile ExportData.ps1, ImportData.py
Отсутствие фокуса в консоли во время выполнения
Если вы работали с SSMS, то наверняка привыкли к возможности выполнить запрос и затем повторить его выполнение, не переключаясь обратно в панель запросов. В таком случае реализованное по умолчанию поведение редактора кода может показаться вам непривычным. Чтобы сохранять фокус в редакторе при выполнении с помощью клавиши F8, измените следующую настройку:
"powershell.integratedConsole.focusConsoleOnExecute": false
Значение по умолчанию true
выбрано для целей доступности.
Обратите внимание, что при установке этой настройки фокус не будет переноситься в консоль, даже если вы используете команду, явно требующую ввода данных, например Get-Credential
.
Примеры SQL для PowerShell
Чтобы использовать приведенные ниже примеры, установите модуль SqlServer из коллекции PowerShell.
Install-Module -Name SqlServer
Примечание.
Начиная с версии 21.1.18102
, модуль SqlServer
поддерживает как Windows PowerShell, так и PowerShell Core 6.2 и более поздние версии.
В этом примере используется командлет Get-SqlInstance
для получения объектов SMO Server для ServerA и ServerB. По умолчанию в выходных данных этой команды будут содержаться имя экземпляра, версия, уровень пакета обслуживания и уровень накопительного обновления для экземпляров.
Get-SqlInstance -ServerInstance ServerA, ServerB
Ниже приводится пример соответствующих выходных данных:
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
Модуль SqlServer
содержит поставщик SQLRegistration
, который обеспечивает программный доступ к следующим типам сохраненных подключений SQL Server:
- Сервер ядра СУБД (зарегистрированные серверы)
- Центральный сервер управления (CMS)
- Службы анализа данных
- Интеграционные службы
- Службы отчетов
В следующем примере выполняется команда dir
(псевдоним Get-ChildItem
) для получения списка всех экземпляров SQL Server, которые перечислены в файле зарегистрированных серверов.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Ниже приводится пример выходных данных:
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
Для многих операций с базами данных или содержащимися в них объектами можно использовать командлет Get-SqlDatabase
. Если заданы значения параметров -ServerInstance
и -Database
, будут извлечены только эти объекты базы данных. Тем не менее, если вы зададите только параметр -ServerInstance
, будет возвращен полный список баз данных в этом экземпляре.
Ниже приводится пример соответствующих выходных данных:
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
В следующем примере используется командлет Get-SqlDatabase
для извлечения списка всех баз данных на экземпляре ServerB. После этого с помощью командлета Out-GridView
выводится таблица для выбора баз данных, для которых требуется выполнить резервное копирование. После нажатия кнопки "ОК" будет выполнено резервное копирование только для выделенных баз данных.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
В этом примере снова получает список всех экземпляров SQL Server, перечисленных в файле зарегистрированных серверов, затем вызывается функция Get-SqlAgentJobHistory
, которая выводит список всех завершившихся сбоем заданий агента SQL с полуночи для каждого экземпляра SQL Server, указанного в списке.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
В этом примере выполняется команда dir
(псевдоним Get-ChildItem
) для получения списка всех экземпляров SQL Server, перечисленных в файле зарегистрированных серверов. Затем выполняется командлет Get-SqlDatabase
для получения списка баз данных для каждого из этих экземпляров.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Ниже приводится пример соответствующих выходных данных:
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
Отчеты о проблемах
Если вы столкнулись с проблемами при работе расширения PowerShell, ознакомьтесь со сведениями о диагностике ошибок и отправке сообщений о них в документации по устранению неполадок.
Примечание по безопасности.
Сведения о проблемах, связанных с безопасностью, см. в этой статье.
Участие в улучшении кода
Если вы хотите принять участие в улучшении этого расширения, ознакомьтесь с документацией для разработчиков.
Сопровождающие
- Кит Хилл - @r_keith_hill
- Тайлер Леонардт — @TylerLeonhardt
- Роб Холт (Rob Holt)
Лицензия
Это расширение лицензируется на условиях лицензии MIT. Для получения сведений о двоичных файлах сторонних производителей, которые мы включаем в выпуски этого проекта, см. файл уведомления сторонних производителей.
Правила поведения
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.