SQL Server PowerShell パスの移動Navigate SQL Server PowerShell Paths

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

データベース エンジンDatabase Engine PowerShell プロバイダーは、ファイル パスと同様の構造で、SQL Server のインスタンス内のオブジェクトのセットを公開します。The データベース エンジンDatabase Engine PowerShell provider exposes the set of objects in an instance of SQL Server in a structure similar to a file path. Windows PowerShell コマンドレットを使用することで、プロバイダー パスを移動し、カスタム ドライブを作成して、入力するパスを短くすることができます。You can use Windows PowerShell cmdlets to navigate the provider path, and create custom drives to shorten the path you have to type.

注意

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.

Windows PowerShell では、コマンドレットを実装して、PowerShell プロバイダーによりサポートされるオブジェクトの階層を表すパス構造を移動できます。Windows PowerShell implements cmdlets to navigate the path structure that represent the hierarchy of objects supported by a PowerShell provider. そのパス内のノードへ移動したときに、他のコマンドレットを使用して、現在のオブジェクトの基本的な操作を実行することができます。When you have navigated to a node in the path, you can use other cmdlets to perform basic operations on the current object. コマンドレットは頻繁に使用されるため、短い標準の別名が用意されています。Because the cmdlets are used frequently, they have short, canonical aliases. また、コマンドレットを類似のコマンド プロンプトのコマンドにマップする別名のセットと、UNIX シェル コマンド用の別のセットもあります。There is also one set of aliases that maps the cmdlets to similar command prompt commands, and another set for UNIX shell commands.

SQL ServerSQL Server プロバイダーは、次の表に示すように、プロバイダーのコマンドレットのサブセットを実装します。The SQL ServerSQL Server provider implements a subset of the provider cmdlets, shown in the following table:

コマンドレットcmdlet 標準の別名Canonical alias コマンドの別名cmd alias UNIX シェルの別名UNIX shell alias [説明]Description
Get-LocationGet-Location glgl pwdpwd pwdpwd 現在のノードを取得します。Gets the current node.
Set-LocationSet-Location slsl cd、chdircd, chdir cd、chdircd, chdir 現在のノードを変更します。Changes the current node.
Get-ChildItemGet-ChildItem gcigci dirdir lsls 現在のノードに格納されているオブジェクトの一覧を表示します。Lists the objects stored at the current node.
Get-ItemGet-Item gigi 現在のアイテムのプロパティを返します。Returns the properties of the current item.
Rename-ItemRename-Item rnirni rnrn renren オブジェクトの名前を変更します。Renames an object.
Remove-ItemRemove-Item riri del、rddel, rd rm、rmdirrm, rmdir オブジェクトを削除します。Removes an object.

重要

一部の SQL ServerSQL Server 識別子 (オブジェクト名) には、Windows PowerShell のパス名ではサポートされない文字が含まれている場合があります。Some SQL ServerSQL Server identifiers (object names) contain characters that Windows PowerShell does not support in path names. それらの文字を含む名前の使用方法の詳細については、「 PowerShell での SQL Server 識別子」を参照してください。For more information about how to use names that contain these characters, see SQL Server Identifiers in PowerShell.

Get-childitem によって返される SQL Server 情報SQL Server Information Returned by Get-ChildItem

Get-ChildItem (またはその別名の dir および ls ) で返される情報は、SQLSERVER: パス内の場所によって異なります。The information returned by Get-ChildItem (or its dir and ls aliases) depends on your location in a SQLSERVER: path.

パスの場所Path location Get-ChildItem の結果Get-ChildItem results
SQLSERVER:\SQLSQLSERVER:\SQL ローカル コンピューターの名前を返します。Returns the name of the local computer. SMO または WMI を使用して他のコンピューター上の データベース エンジンDatabase Engine のインスタンスに接続している場合は、それらのコンピューターも一覧表示されます。If you have used SMO or WMI to connect to instances of the データベース エンジンDatabase Engine on other computers, those computers are also listed.
SQLSERVER:\SQL\ComputerNameSQLSERVER:\SQL\ComputerName コンピューター上の データベース エンジンDatabase Engine のインスタンスの一覧。The list of instances of the データベース エンジンDatabase Engine on the computer.
SQLSERVER:\SQL\ComputerName\InstanceNameSQLSERVER:\SQL\ComputerName\InstanceName インスタンス内の最上位レベルのオブジェクトの種類の一覧 (Endpoints、Certificates、Databases など)。The list of top-level object types in the instance, such as Endpoints, Certificates, and Databases.
オブジェクト クラスのノード (Databases など)Object class node, such as Databases その種類のオブジェクトの一覧 (データベースの場合は master、model、AdventureWorks2008R2 など)。The list of objects of that type, such as the list of databases: master, model, AdventureWorks20008R2.
オブジェクト名のノード (AdventureWorks2012 など)Object name node, such as AdventureWorks2012 オブジェクト内に格納されているオブジェクトの種類の一覧。The list of object types contained within the object. たとえば、データベースの場合はテーブルやビューなどのオブジェクトの種類が一覧表示されます。For example, a database would list object types such as tables and views.

既定では、 Get-ChildItem でシステム オブジェクトは一覧表示されません。By default, Get-ChildItem does not list any system objects. システム オブジェクト (たとえば sys スキーマ内のオブジェクト) を表示するには、 Force パラメーターを使用します。Use the Force parameter to see system objects, such as the objects in the sys schema.

カスタム ドライブCustom Drives

Windows PowerShell では、"PowerShell ドライブ" と呼ばれる仮想ドライブをユーザーが定義できます。Windows PowerShell lets users define virtual drives, which are referred to as PowerShell drives. これらのドライブには、パス ステートメントの開始ノードがマップされます。These drives map over the starting nodes of a path statement. これらは、通常、頻繁に入力されるパスを短縮するために使用します。They are typically used to shorten paths that are typed frequently. SQLSERVER: パスは長くなることがあり、長くなるとその分 Windows PowerShell ウィンドウ内の領域が使用され、多くの入力が必要になります。SQLSERVER: paths can get long, taking space in the Windows PowerShell window and requiring much typing. 特定のパス ノードで多くの作業を行う場合は、そのノードにマップされる Windows PowerShell のカスタム ドライブを定義することができます。If you are going to do a lot of work at a particular path node, you can define a custom Windows PowerShell drive that maps to that node.

PowerShell コマンドレットの別名の使用Use PowerShell Cmdlet Aliases

コマンドレットの別名の使用Use a cmdlet alias

  • 完全なコマンドレット名を入力する代わりに、より短い別名、つまり使い慣れたコマンド プロンプト コマンドに割り当てられた名前を入力します。Instead of typing a full cmdlet name, type a shorter alias, or one that maps to a familiar commend prompt command.

別名の例 (PowerShell)Alias Example (PowerShell)

たとえば、次に示す一連のコマンドレットまたは別名のいずれかを使用して、SQLSERVER:\SQL フォルダーに移動しフォルダーの子アイテムの一覧を要求することによって、使用できる SQL ServerSQL Server インスタンスの一覧を取得することができます。For example, you can use one of the following sets of cmdlets or aliases to retrieve a listing of the SQL ServerSQL Server instances available to you by navigating to the SQLSERVER:\SQL folder and requesting the list of child items for the folder:

## Shows using the full cmdet name.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## Shows using canonical aliases.  
sl SQLSERVER:\SQL  
gci  
  
## Shows using command prompt aliases.  
cd SQLSERVER:\SQL  
dir  
  
## Shows using Unix shell aliases.  
cd SQLSERVER:\SQL  
ls  

Get-ChildItem の使用Use Get-ChildItem

Get-childitem を使用した情報の取得Return information by using Get-Childitem

  1. 子の一覧を取得する対象のノードに移動します。Navigate to the node for which you want a list of children

  2. Get-childitem を実行して、一覧を取得します。Run Get-Childitem to get the list.

Get-ChildItem の例 (PowerShell)Get-ChildItem Example (PowerShell)

これらの例は、SQL Server プロバイダー パス内の異なるノードについて、Get-Childitem で返される情報を示しています。These examples illustrate the information returned by Get-Childitem for different nodes in a SQL Server provider path.

## Return the current computer and any computer  
## to which you have made a SQL or WMI connection.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## List the instances of the Database Engine on the local computer.  
  
Set-Location SQLSERVER:\SQL\localhost  
Get-ChildItem  
  
## Lists the categories of objects available in the  
## default instance on the local computer.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT  
Get-ChildItem  
  
## Lists the databases from the local default instance.  
## The force parameter is used to include the system databases.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-ChildItem -force  

カスタム ドライブの作成Create a Custom Drive

カスタム ドライブの作成と使用Create and use a custom drive

  1. New-PSDrive を使用して、カスタム ドライブを定義します。Use New-PSDrive to define a custom drive. Root パラメーターを使用して、カスタム ドライブ名で表されるパスを指定します。Use the Root parameter to specify the path that is represented by the custom drive name.

  2. Set-Locationなどのパス移動コマンドレットでカスタム ドライブ名を参照します。Reference the custom drive name in path navigation cmdlets such as Set-Location.

カスタム ドライブの例 (PowerShell)Custom Drive Example (PowerShell)

この例では、配置された AdventureWorks2012 サンプル データベースのコピーのノードにマップする AWDB という名前の仮想ドライブを作成します。This example creates a virtual drive named AWDB that maps to the node for a deployed copy of the AdventureWorks2012 sample database. 仮想ドライブを使用して、データベース内のテーブルに移動します。The virtual drive is then used to navigate to a table in the database.

## Create a new virtual drive.  
New-PSDrive -Name AWDB -Root SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012  
  
## Use AWDB: to navigate to a specific table.  
Set-Location AWDB:\Tables\Purchasing.Vendor  

参照See Also

SQL Server PowerShell プロバイダー SQL Server PowerShell Provider
SQL Server PowerShell パスの操作 Work With SQL Server PowerShell Paths
SQL Server PowerShellSQL Server PowerShell