SQL Server 管理オブジェクト モデル (SMO) は、オブジェクトの UNIFORM Resource Names (URN) を構築します。 各 URN は SMO オブジェクトを一意に識別し、 Convert-UrnToPath
コマンドレットを使用して SQL Server PowerShell プロバイダー パスに変換できます。
URL をパスに変換する
各 URN には、オブジェクトへのパスと同じ情報がありますが、形式は異なります。 たとえば、次はテーブルへのパスです。
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012\Tables\Person.Address
これは同じオブジェクトに対する URN です。
Server[@Name='MyComputer']\Database[@Name='AdventureWorks2012']\Table[@Name='Address' and @Schema='Person']
PowerShell スクリプトで SMO オブジェクトを作成した場合は、 Urn
プロパティを参照してオブジェクトの URN を取得し、 Convert-UrnToPath
コマンドレットを使用して SMO URN 文字列を Windows PowerShell パスに変換できます。 その後、プロバイダーを使用して、パス上の別の場所に移動できます。
ノード名に Windows PowerShell パス名でサポートされていない拡張文字が含まれている場合、 Convert-UrnToPath
はそれらを 16 進表現でエンコードします。 たとえば、"My:Table" は "My%3ATable" として返されます。
コマンドレットの使用例については、Windows PowerShell で次を実行します。
Get-Help Convert-UrnToPath -Examples
こちらもご覧ください
クエリ式と統一リソース名
SQL Server PowerShell プロバイダー
SQL Server PowerShell