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

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data WarehouseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data Warehouse

Поставщик SQL ServerSQL Server для Windows PowerShell отображает иерархию объектов SQL ServerSQL Server в виде путей, аналогичных путям файловой системы.The SQL ServerSQL Server provider for Windows PowerShell exposes the hierarchy of SQL ServerSQL Server objects in paths similar to file system paths. Можно определить расположение объекта с помощью путей, а затем использовать методы, доступные в моделях объектов SQL ServerSQL Server SMO, для выполнения действия с объектами.You can use the paths to locate an object, and then use methods from the SQL ServerSQL Server Management Object (SMO) models to perform actions on the objects.

Примечание

Существует два модуля SQL Server PowerShell — SqlServer и SQLPS.There are two SQL Server PowerShell modules; SqlServer and SQLPS.

Самым актуальным модулем PowerShell является модуль SqlServer.The SqlServer module is the current PowerShell module to use.

Модуль SQLPS входит в состав установки SQL Server (для обеспечения обратной совместимости), но больше не обновляется.The SQLPS module is included with the SQL Server installation (for backward compatibility) but is no longer updated.

Модуль SqlServer содержит обновленные версии командлетов в SQLPS и новые командлеты для поддержки последних функций SQL.The SqlServer module contains updated versions of the cmdlets in SQLPS and includes new cmdlets to support the latest SQL features.

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

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

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

Пути, реализуемые поставщиком SQL ServerSQL Server , позволяют легко просматривать все объекты в экземпляре SQL Server в интерактивном режиме.The paths implemented by the SQL ServerSQL Server provider enable easily and interactively reviewing all of the objects in an instance of SQL Server. Предусмотрена возможность переходить по этим путям с использованием псевдонимов Windows PowerShell по аналогии с переходом по путям файловой системы с помощью команд.You can navigate the paths using Windows PowerShell aliases similar to the commands you typically use to navigate file system paths.

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

Продукты, в которых модели данных или модели объектов можно представить в иерархическом виде, используют для представления таких иерархий поставщики Windows PowerShell.Products whose data or object models can be represented in a hierarchy use Windows PowerShell providers to expose the hierarchies. Иерархия отображается при помощи диска и структуры пути, похожей на ту, которая используется в файловой системе Windows.The hierarchy is exposed by using a drive and path structure similar to what the Windows file system uses.

Каждый поставщик Windows PowerShell реализует один или несколько дисков.Each Windows PowerShell provider implements one or more drives. Каждый диск является корневым узлом в иерархии связанных объектов.Each drive is the root node of a hierarchy of related objects. В поставщике SQL ServerSQL Server PowerShell реализован диск «SQLSERVER:».The SQL ServerSQL Server provider implements a SQLSERVER: drive. Поставщик также определяет набор основных папок для диска SQLSERVER:.The provider also defines a set of primary folders for the SQLSERVER: drive. Каждая папка и вложенные в нее папки представляют набор объектов, к которым можно получить доступ с помощью модели управляющих объектов SQL ServerSQL Server .Each folder and its subfolders represent the set of objects that can be accessed by using a SQL ServerSQL Server management object model. Если выделена вложенная папка в пути, начинающемся с одной из этих папок, можно использовать методы из связанной объектной модели для выполнения действий с объектом, который представлен вложенной папкой.When you are focused on a subfolder in a path that starts with one of these primary folders, you can use the methods from the associated object model to perform actions on the object that is represented by the node. Папки Windows PowerShell, реализуемые поставщиком SQL Server 2019 (15.x)SQL Server 2019 (15.x), перечислены в следующей таблице.The Windows PowerShell folders implemented by the SQL Server 2019 (15.x)SQL Server 2019 (15.x) provider are listed in the following table:

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

Microsoft.SqlServer.Management.Smo.Agent

Microsoft.SqlServer.Management.Smo.Broker

Microsoft.SqlServer.Management.Smo.Mail
Объекты базы данных, такие как таблицы, представления и хранимые процедуры.Database objects, such as tables, views, and stored procedures.
SQLSERVER:\SQLPolicy Microsoft.SqlServer.Management.Dmf

Microsoft.SqlServer.Management.Facets
Объекты управления на основе политик, такие как политики и аспекты.Policy-based management objects, such as policies and facets.
SQLSERVER:\SQLRegistration Microsoft.SqlServer.Management.RegisteredServers

Microsoft.SqlServer.Management.Smo.RegSvrEnum
Зарегистрированные объекты серверов, такие как группы серверов и зарегистрированные серверы.Registered server objects, such as server groups and registered servers.
SQLSERVER:\Utility Microsoft.SqlServer.Management.Utility Вспомогательные объекты, такие как управляемые экземпляры компонента Компонент Database EngineDatabase Engine.Utility objects, such as managed instances of the Компонент Database EngineDatabase Engine.
SQLSERVER:\DAC Microsoft.SqlServer.Management.DacMicrosoft.SqlServer.Management.Dac Объекты приложения уровня данных, такие как пакеты DAC, и операции, такие как развертывание DAC.Data-tier application objects such as DAC packages, and operations such as deploying a DAC.
SQLSERVER:\DataCollection Microsoft.SqlServer.Management.Collector Объекты сборщика данных, такие как наборы элементов сбора и хранилища конфигураций.Data collector objects, such as collection sets and configuration stores.
SQLSERVER:\SSIS Microsoft.SqlServer.Management.IntegrationServices Службы Integration ServicesIntegration Services , как проекты, пакеты и среды.objects such as projects, packages, and environments.
SQLSERVER:\XEvent Microsoft.SqlServer.Management.XEvent Расширенные события SQL ServerSQL Server Extended Events
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScopedMicrosoft.SqlServer.Management.XEventDbScoped Расширенные события SQL ServerSQL Server Extended Events
SQLSERVER:\SQLAS Microsoft.AnalysisServices Службы Analysis ServicesAnalysis Services , такие как кубы, агрегаты и измерения.objects such as cubes, aggregations, and dimensions.

Например, папку SQLSERVER:\SQL можно использовать, чтобы начинать пути, которые могут представлять любой объект, поддерживаемый объектной моделью SMO.For example, you can use the SQLSERVER:\SQL folder to start paths that can represent any object that is supported by the SMO object model. Начальная область пути SQLSERVER:\SQL — SQLSERVER:\SQL\ComputerName\InstanceName.The leading part of a SQLSERVER:\SQL path is SQLSERVER:\SQL\ComputerName\InstanceName. Узлы после имени экземпляра поочередно указывают коллекции объектов (такие как Базы данных или Представления) и имена объектов (наподобие AdventureWorks2012).The nodes after the instance name alternate between object collections (such as Databases or Views) and object names (such as AdventureWorks2012). Схемы не представляются в качестве классов объектов.Schemas are not represented as object classes. Если указывается узел для объекта верхнего уровня в схеме, такого как таблица или представление, необходимо указать имя объекта в формате ИмяСхемы.ИмяОбъекта.When you specify the node for a top-level object in a schema, such as a table or view, you must specify the object name in the format SchemaName.ObjectName.

В следующем примере показан путь к таблице "Vendor" в схеме "Purchasing" базы данных AdventureWorks2012 на экземпляре по умолчанию компонента Компонент Database EngineDatabase Engine на локальном компьютере.The following example shows the path of the Vendor table in the Purchasing schema of the AdventureWorks2012 database in a default instance of the Компонент Database EngineDatabase Engine on the local computer:

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

Дополнительные сведения об иерархии модели объектов SMO см. в разделе SMO Object Model Diagram.For more information about the SMO object model hierarchy, see SMO Object Model Diagram.

Узлы коллекций в пути связаны с классом коллекций в связанной объектной модели.Collection nodes in a path are associated with a collection class in the associated object model. Узлы имен объектов связаны с классом объектов в связанной модели объектов, как показано в следующей таблице.Object name nodes are associated with an object class in the associated object model, as in the following table:

путьPath Класс SMOSMO class
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases DatabaseCollection
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012 Database

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

Описание задачиTask Description СтатьяArticle
Описано, как использовать командлеты Windows PowerShell для перехода по узлам пути и получения в каждом узле списка объектов этого узла.Describes how to use Windows PowerShell cmdlets to navigate through the nodes in a path, and at each node get a list of the objects at that node. Перемещение путей SQL Server PowerShellNavigate SQL Server PowerShell Paths
Описано, как использовать методы и свойства объектов SMO для получения отчета и выполнения работы над объектом, представленным узлом пути.Describes how to use the SMO methods and properties to report on and perform work on the object represented by a node in a path. Кроме того, описано, как получить список методов и свойств объектов SMO для этого узла.Also describes how to get a list of the SMO methods and properties for that node. Работа с путями SQL Server PowerShellWork With SQL Server PowerShell Paths
Описывает, как преобразовать универсальное имя ресурса объекта SMO в путь поставщика SQL Server.Describes how to convert a SMO Uniform Resource Name (URN) to a SQL Server provider path. Преобразование URNs в пути поставщика SQL ServerConvert URNs to SQL Server Provider Paths
Описано, как открывать соединения проверки подлинности SQL Server с использованием поставщика SQL ServerSQL Server .Describes how to open SQL Server Authentication connections by using the SQL ServerSQL Server provider. По умолчанию поставщик использует соединения проверки подлинности Windows, установленные с помощью учетных данных той учетной записи Windows, которая используется в сеансе Windows PowerShell.By default, the provider uses Windows Authentication connections made using the credentials of the Windows account running the Windows PowerShell session. Управление проверкой подлинности в PowerShell ядра СУБД Manage Authentication in Database Engine PowerShell

Дальнейшие действияNext steps

SQL Server PowerShellSQL Server PowerShell