Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важный
Azure Data Studio будет выведен из эксплуатации 28 февраля 2026 г.. Мы рекомендуем использовать расширение MSSQL для 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. Выходные данные по умолчанию для этой команды включают название экземпляра, версию, пакет обновления и уровень обновления CU экземпляров.
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 с любыми дополнительными вопросами или комментариями.