SQL Server PowerShellSQL Server PowerShell

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL AzureдаХранилище данных SQL AzureдаParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Установка компонентов SQL Server PowerShellInstall SQL Server PowerShell

Примечание

Существует два модуля SQL Server PowerShell — SqlServer и SQLPS.There are two SQL Server PowerShell modules; SqlServer and SQLPS. Модуль SQLPS входит в состав установки SQL Server (для обеспечения обратной совместимости), но больше не обновляется.The SQLPS module is included with the SQL Server installation (for backwards compatibility), but is no longer being updated. Самым актуальным модулем PowerShell является модуль SqlServer.The most up-to-date PowerShell module is the SqlServer module. Модуль SqlServer содержит обновленные версии командлетов в SQLPS, а также новые командлеты для поддержки последних функций SQL.The SqlServer module contains updated versions of the cmdlets in SQLPS, and also includes new cmdlets to support the latest SQL features.
Предыдущие версии модуля SqlServer входили в состав среды SQL Server Management Studio (SSMS), но только с SSMS версий 16.x.Previous versions of the SqlServer module were included with SQL Server Management Studio (SSMS), but only with the 16.x versions of SSMS. Для работы PowerShell с SSMS 17.0 и более поздних версий необходимо установить модуль SqlServer из коллекции PowerShell.To use PowerShell with SSMS 17.0 and later, the SqlServer module must be installed from the PowerShell Gallery. Сведения об установке модуля SqlServer см. в статье Установка компонентов SQL Server PowerShell.To install the SqlServer module, see Install SQL Server PowerShell.

Почему модуль SQLPS изменился на SqlServer?Why did the module change from SQLPS to SqlServer?

Для поставки обновлений SQL PowerShell было необходимо изменить удостоверение модуля SQL PowerShell, а также программу-оболочку, известную как SQLPS.exe.To ship SQL PowerShell updates, we had to change the identity of the SQL PowerShell module, as well as the wrapper known as SQLPS.exe. В связи с эти изменением теперь существует два модуля SQL PowerShell — модуль SqlServer и модуль SQLPS.Because of this change, there are now two SQL PowerShell modules, the SqlServer module, and the SQLPS module.

Обновите скрипты PowerShell, если они импортируют модуль SQLPS.Update your PowerShell scripts if they import the SQLPS module.

Если у вас есть скрипты PowerShell, которые выполняют команду Import-Module -Name SQLPS, и вы хотите использовать преимущества новых функциональных возможностей поставщика и новых командлетов, необходимо изменить их на Import-Module -Name SqlServer.If you have any PowerShell scripts that run Import-Module -Name SQLPS, and you want to take advantage of the new provider functionality and new cmdlets, you must change them to Import-Module -Name SqlServer. Новый модуль устанавливается в папку %ProgramFiles%\WindowsPowerShell\Modules\SqlServer.The new module is installed to %ProgramFiles%\WindowsPowerShell\Modules\SqlServer folder. Поэтому не нужно обновлять переменную $env:PSModulePath.Therefore, you do not have to update the $env:PSModulePath variable. При наличии скриптов, использующих версию модуля с именем SqlServer, созданную сторонними производителями или сообществом, используйте параметр Prefix, чтобы имена не конфликтовали.If you have scripts that use a third-party or community version of a module named SqlServer, use the Prefix parameter to avoid name collisions.

Модуль, используемый агентом SQL Server, не изменился.There is no change to the module used by SQL Server Agent. Следовательно, действия заданий с типом PowerShell будут использовать модуль SQLPS.Therefore, job steps of the type PowerShell use the SQLPS module. Дополнительные сведения: Запуск PowerShell с помощью агента SQL Server.For more information, see How to run PowerShell with SQL Server Agent.

Компоненты SQL Server PowerShellSQL Server PowerShell Components

Модуль SqlServer загружает две оснастки Windows PowerShell.The SqlServer module loads two Windows PowerShell snap-ins:

  • Поставщик SQL ServerSQL Server , который предоставляет простой механизм навигации, аналогичный путям в файловой системе.A SQL ServerSQL Server provider, which enables a simple navigation mechanism similar to file system paths. Можно построить пути, аналогичные путям файловой системы, где диску соответствует управляющая объектная модель SQL ServerSQL Server , а узлы основаны на классах объектной модели.You can build paths similar to file system paths, where the drive is associated with a SQL ServerSQL Server management object model, and the nodes are based on the object model classes. Затем можно использовать привычные команды, такие как cd и dir , чтобы перемещаться по путям, аналогично переходу по структуре папок в окне командной строки.You can then use familiar commands such as cd and dir to navigate the paths similar to the way you navigate folders in a command prompt window. Для выполнения действий на узлах пути можно использовать другие команды, например ren или del.You can use other commands, such as ren or del, to perform actions on the nodes in the path.

  • Набор командлетов, которые поддерживают такие действия, как запуск скрипта sqlcmd, содержащего инструкции Transact-SQLTransact-SQL или XQuery.A set of cmdlets that support actions such as running a sqlcmd script containing Transact-SQLTransact-SQL or XQuery statements.

SQL Server, версииSQL Server Versions

Командлеты SQL PowerShell можно использовать для управления экземплярами базы данных SQL Azure, хранилища данных SQL Azure и во всех поддерживаемых продуктов SQL Server.SQL PowerShell cmdlets can be used to manage instances of Azure SQL Database, Azure SQL Data Warehouse, and all supported SQL Server products.

Идентификаторы SQL Server, содержащие символы, не поддерживаемые в путях Windows PowerShellSQL Server identifiers that contain characters not supported in PowerShell paths

Командлеты Encode-Sqlname и Decode-Sqlname помогают указать идентификаторы SQL Server, содержащие символы, не поддерживаемые в путях Windows PowerShell.The Encode-Sqlname and Decode-Sqlname cmdlets help you specify SQL Server identifiers that contain characters not supported in PowerShell paths. Дополнительные сведения см. в статье SQL Server Identifiers in PowerShell.For more information, see SQL Server Identifiers in PowerShell.

Используйте командлет Convert-UrnToPath , чтобы преобразовать уникальное имя ресурса для объекта компонента Компонент Database EngineDatabase Engine в путь для поставщика SQL Server PowerShell.Use the Convert-UrnToPath cmdlet to convert a Unique Resource Name for a Компонент Database EngineDatabase Engine object to a path for the SQL Server PowerShell provider. Дополнительные сведения см. в статье Convert URNs to SQL Server Provider Paths.For more information, see Convert URNs to SQL Server Provider Paths.

Выражения запросов и уникальные имена ресурсовQuery Expressions and Unique Resource Names

Выражения запроса — это строки, которые используют синтаксис, напоминающий XPath для указания набора условий, перечисляющих один или несколько объектов в иерархии объектной модели.Query expressions are strings that use syntax similar to XPath to specify a set of criteria that enumerate one or more objects in an object model hierarchy. Уникальное имя ресурса (URN) — это определенный тип строки выражения запроса, который уникально определяет один объект.A Unique Resource Name (URN) is a specific type of query expression string that uniquely identifies a single object. Дополнительные сведения см. в статье Query Expressions and Uniform Resource Names.For more information, see Query Expressions and Uniform Resource Names.

Справочник по командлетамCmdlet reference