SQL Server PowerShell ProviderSQL Server PowerShell Provider

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Windows PowerShell 用の SQL ServerSQL Server プロバイダーは、ファイル システム パスと同様のパスで 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 モジュールには SqlServerSQLPS の 2 つがあります。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.
SQL Server Management Studio (SSMS) には前のバージョンの SqlServer が含まれていましたが、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.

SQL Server PowerShell プロバイダーの利点Benefits 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 PowerShell の階層The 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 プロバイダーは 1 つ以上のドライブを実装します。Each Windows PowerShell provider implements one or more drives. 各ドライブは、関連するオブジェクトの階層のルート ノードです。Each drive is the root node of a hierarchy of related objects. SQL ServerSQL Server プロバイダーは、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. SQL Server 2019 (15.x)SQL Server 2019 (15.x) プロバイダーが実装する Windows PowerShell フォルダーを次の表に示します。The Windows PowerShell folders implemented by the SQL Server 2019 (15.x)SQL Server 2019 (15.x) provider are listed in the following table:

FolderFolder SQL Server オブジェクト モデルの名前空間SQL Server object model namespace ObjectsObjects
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 Engineのマネージド インスタンスなど)Utility objects, such as managed instances of the データベース エンジンDatabase Engine.
SQLSERVER:\DAC Microsoft.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 Server 拡張イベントSQL Server Extended Events
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScopedMicrosoft.SqlServer.Management.XEventDbScoped SQL Server 拡張イベントSQL 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. インスタンス名の後のノードは、オブジェクト コレクション ( DatabasesViewsなど) とオブジェクト名 (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. スキーマ内の最上位レベルのオブジェクト (テーブルやビューなど) のノードを指定する場合、オブジェクト名を SchemaName.ObjectNameの形式で指定する必要があります。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.

次の例は、ローカル コンピューター上の データベース エンジンDatabase Engine の既定のインスタンスにある AdventureWorks2012 データベースの Purchasing スキーマ内の Vendor テーブルのパスを示しています。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 Engine on the local computer:

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

SMO オブジェクト モデルの階層の詳細については、「 SMO オブジェクト モデル ダイアグラム」を参照してください。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:

PathPath SMO クラスSMO class
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases DatabaseCollection
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012 Database

SQL Server プロバイダーのタスクSQL 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 PowerShell パスの移動Navigate 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 PowerShell パスの操作Work With SQL Server PowerShell Paths
SMO URN (Uniform Resource Name) を SQL Server プロバイダー パスに変換する方法について説明します。Describes how to convert a SMO Uniform Resource Name (URN) to a SQL Server provider path. URN から SQL Server プロバイダー パスへの変換Convert URNs to SQL Server Provider Paths
SQL ServerSQL Server プロバイダーを使用して SQL Server 認証接続を開く方法について説明します。Describes how to open SQL Server Authentication connections by using the SQL ServerSQL Server provider. 既定では、プロバイダーは、Windows PowerShell セッションを実行している Windows アカウントの資格情報を使用して確立された Windows 認証接続を使用します。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