SQL Server PowerShell, поставщик

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Поставщик SQL Server для Windows PowerShell предоставляет иерархию объектов SQL Server в путях, аналогичных путям файловой системы. Пути можно использовать для поиска объекта, а затем использовать методы из моделей объектов SMO SQL Server для выполнения действий над объектами.

Заметка

Существует два модуля SQL Server PowerShell — SqlServer и SQLPS.

Самым актуальным модулем PowerShell является модуль SqlServer.

Модуль SQLPS входит в состав установки SQL Server (для обеспечения обратной совместимости), но больше не обновляется.

Модуль SqlServer содержит обновленные версии командлетов в SQLPS и новые командлеты для поддержки последних функций SQL.

Установите модуль SqlServer из коллекции PowerShell.

Подробные сведения см. в статье SQL Server PowerShell.

Преимущества поставщика SQL Server PowerShell

Пути, реализованные поставщиком SQL Server, позволяют легко и интерактивно просматривать все объекты в экземпляре SQL Server. Предусмотрена возможность переходить по этим путям с использованием псевдонимов Windows PowerShell по аналогии с переходом по путям файловой системы с помощью команд.

Иерархия SQL Server в PowerShell

Продукты, в которых модели данных или модели объектов можно представить в иерархическом виде, используют для представления таких иерархий поставщики Windows PowerShell. Иерархия отображается при помощи диска и структуры пути, похожей на ту, которая используется в файловой системе Windows.

Каждый поставщик Windows PowerShell реализует один или несколько дисков. Каждый диск является корневым узлом в иерархии связанных объектов. Поставщик SQL Server реализует диск SQLSERVER: диск. Поставщик также определяет набор основных папок для диска SQLSERVER:. Каждая папка и ее вложенные папки представляют набор объектов, к которым можно получить доступ с помощью объектной модели управления SQL Server. Если выделена вложенная папка в пути, начинающемся с одной из этих папок, можно использовать методы из связанной объектной модели для выполнения действий с объектом, который представлен вложенной папкой. Папки Windows PowerShell, реализованные поставщиком SQL Server, перечислены в следующей таблице:

Папка Пространство имен объектной модели SQL Server Объект
SQLSERVER:\SQL Microsoft.SqlServer.Management.Smo

Microsoft.SqlServer.Management.Smo.Agent

Microsoft.SqlServer.Management.Smo.Broker

Microsoft.SqlServer.Management.Smo.Mail
Объекты базы данных, такие как таблицы, представления и хранимые процедуры.
SQLSERVER:\SQLPolicy Microsoft.SqlServer.Management.Dmf

Microsoft.SqlServer.Management.Facets
Объекты управления на основе политик, такие как политики и аспекты.
SQLSERVER:\SQLRegistration Microsoft.SqlServer.Management.RegisteredServers

Microsoft.SqlServer.Management.Smo.RegSvrEnum
Зарегистрированные объекты серверов, такие как группы серверов и зарегистрированные серверы.
SQLSERVER:\Utility Microsoft.SqlServer.Management.Utility Объекты служебной программы, такие как управляемые экземпляры ядра СУБД.
SQLSERVER:\DAC Microsoft.SqlServer.Management.Dac Объекты приложения уровня данных, такие как пакеты DAC, и операции, такие как развертывание DAC.
SQLSERVER:\DataCollection Microsoft.SqlServer.Management.Collector Объекты сборщика данных, такие как наборы элементов сбора и хранилища конфигураций.
SQLSERVER:\SSIS Microsoft.SqlServer.Management.IntegrationServices Объекты служб Integration Services, такие как проекты, пакеты и среды.
SQLSERVER:\XEvent Microsoft.SqlServer.Management.XEvent Расширенные события SQL Server
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScoped Расширенные события SQL Server
SQLSERVER:\SQLAS Microsoft.AnalysisServices Объекты служб Analysis Services, такие как куби, агрегаты и измерения.

Например, папку SQLSERVER:\SQL можно использовать, чтобы начинать пути, которые могут представлять любой объект, поддерживаемый объектной моделью SMO. Начальная область пути SQLSERVER:\SQL — SQLSERVER:\SQLComputerName\InstanceName. Узлы после альтернативного имени экземпляра между коллекциями объектов (например , базами данных или представлениями) и именами объектов (например AdventureWorks2022, ). Схемы не представляются в качестве классов объектов. Если указывается узел для объекта верхнего уровня в схеме, такого как таблица или представление, необходимо указать имя объекта в формате ИмяСхемы.ИмяОбъекта.

В следующем примере показан путь к таблице "Поставщик" в схеме AdventureWorks2022 приобретения базы данных в экземпляре ядра СУБД по умолчанию на локальном компьютере:

SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables\Purchasing.Vendor  

Дополнительные сведения об иерархии модели объектов SMO см. в разделе SMO Object Model Diagram.

Узлы коллекций в пути связаны с классом коллекций в связанной объектной модели. Узлы имен объектов связаны с классом объектов в связанной модели объектов, как показано в следующей таблице.

Путь Класс SMO
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases DatabaseCollection
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022 Database

Задачи поставщика SQL Server

Описание задачи Статья
Описано, как использовать командлеты Windows PowerShell для перехода по узлам пути и получения в каждом узле списка объектов этого узла. Перемещение путей SQL Server PowerShell
Описано, как использовать методы и свойства объектов SMO для получения отчета и выполнения работы над объектом, представленным узлом пути. Кроме того, описано, как получить список методов и свойств объектов SMO для этого узла. Работа с путями SQL Server PowerShell
Описывает, как преобразовать универсальное имя ресурса объекта SMO в путь поставщика SQL Server. Преобразование URNs в пути поставщика SQL Server
Описывает, как открыть подключения проверки подлинности SQL Server с помощью поставщика SQL Server. По умолчанию поставщик использует соединения проверки подлинности Windows, установленные с помощью учетных данных той учетной записи Windows, которая используется в сеансе Windows PowerShell. Управление проверкой подлинности в PowerShell ядра СУБД

Далее

SQL Server PowerShell