導覽 SQL Server PowerShell 路徑

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

資料庫引擎 PowerShell 提供者會公開一組物件,而這組物件位在類似於檔案路徑之結構的 SQL Server 執行個體中。 您可以使用 Windows PowerShell 指令程式導覽提供者路徑,以及建立自訂磁碟機來縮短必須輸入的路徑。

注意

有兩個 SQL Server PowerShell 模組:SqlServerSQLPS

SqlServer 模組是要使用的最新 PowerShell 模組。

SQLPS 模組隨附於 SQL Server 安裝 (用於回溯相容性),但不再更新。

SqlServer 模組包含 SQLPS 中 Cmdlet 的更新版本,且加入新的 Cmdlet 以支援 SQL 最新功能。

PowerShell 資源庫安裝 SqlServer 模組。

如需詳細資訊,請參閱 SQL Server PowerShell

Windows PowerShell 實作指令程式以導覽路徑結構,而路徑結構代表 PowerShell 提供者所支援物件的階層。 在您導覽至路徑中的節點時,可以使用其他 Cmdlet 來執行目前物件的基本作業。 由於 Cmdlet 會經常被使用,所以具有簡短、標準的別名。 也有一組別名會將指令程式對應到類似的命令提示字元命令,而且有另一組別名適用於 UNIX Shell 命令。

SQL Server 提供者會實作提供者 Cmdlet 的子集,如下表所示:

Cmdlet 標準的別名 cmd 別名 UNIX Shell 別名 描述
Get-Location gl pwd pwd 取得目前的節點。
Set-Location sl cd, chdir cd, chdir 變更目前的節點。
Get-ChildItem gci dir ls 列出儲存在目前節點上的物件。
Get-Item gi 傳回目前項目的屬性。
Rename-Item rni rn ren 重新命名物件。
Remove-Item ri del, rd rm, rmdir 移除物件。

重要

某些 SQL Server 識別碼 (物件名稱) 包含 Windows PowerShell 在路徑名稱中不支援的字元。 如需如何使用包含這些字元之名稱的詳細資訊,請參閱 PowerShell 中的 SQL Server 識別碼

Get-ChildItem 所傳回的 SQL Server 資訊

Get-ChildItem (或其 dirls 別名) 傳回的資訊視您在 SQLSERVER: 路徑中的位置而定。

路徑位置 Get-ChildItem 結果
SQLSERVER:\SQL 傳回本機電腦的名稱。 若您已使用 SMO 或 WMI 連線至其他電腦上的資料庫引擎執行個體,則這些電腦也會一併列出。
SQLSERVER:\SQL\ComputerName 電腦上的資料庫引擎執行個體清單。
SQLSERVER:\SQL\ComputerName\InstanceName 執行個體中最上層物件類型的清單,例如 Endpoints、Certificates 和 Databases。
物件類別節點,例如 Databases 該類型的物件清單,例如資料庫的清單:mastermodelAdventureWorks2022
物件名稱節點,例如 AdventureWorks2022 此物件內所包含的物件類型清單。 例如,資料庫會列出資料表和檢視表之類的物件類型。

Get-ChildItem 預設不會列出任何系統物件。 Force 參數可用來查看系統物件,例如 sys 結構描述中的物件。

自訂磁碟機

Windows PowerShell 可讓使用者定義稱為 PowerShell 磁碟機的虛擬磁碟機。 這些磁碟機會透過路徑陳述式的開始節點進行對應。 它們通常是用來縮短經常輸入的路徑。 SQLSERVER: 路徑可能會很長,佔據 Windows PowerShell 視窗的空間且需要很長的鍵入。 若您要在特定路徑節點上執行很多工作,您可以定義可對應至該節點的自訂 Windows PowerShell 磁碟機。

使用 PowerShell 指令程式別名

使用 Cmdlet 別名

  • 輸入較短的別名,或對應至熟悉命令提示字元命令的別名,而不要輸入完整 Cmdlet 名稱。

別名範例 (PowerShell)

例如,您可以使用下列其中一組 Cmdlet 或別名來擷取可用的 SQL Server 執行個體清單,方式是瀏覽至 SQLSERVER:\SQL 資料夾,並要求該資料夾的子項目清單:

## 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

使用 Get-ChildItem 傳回資訊

  1. 巡覽至您要其子系清單的節點

  2. 執行 Get-Childitem 以取得清單。

Get-ChildItem 範例 (PowerShell)

這些範例說明 Get-Childitem 針對 SQL Server 提供者路徑中不同節點所傳回的資訊。

## 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  

建立自訂磁碟機

建立和使用自訂磁碟機

  1. 您可以使用 New-PSDrive 定義自訂磁碟機。 您可以使用 Root 參數指定以自訂磁碟機名稱呈現的路徑。

  2. 參考路徑導覽 Cmdlet (例如 Set-Location) 中的自訂磁碟機名稱。

自訂磁碟機範例 (PowerShell)

此範例會建立名為 AWDB 且對應至已部署 AdventureWorks2022 範例資料庫複本之節點的虛擬磁碟機。 然後,您可以使用虛擬磁碟機來導覽至資料庫中的資料表。

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

另請參閱