PowerShell での SQL Server 識別子

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Windows PowerShell 用 SQL Server プロバイダーは、Windows Powershell のパスに SQL Server 識別子を使用します。 SQL Server 識別子には、Windows PowerShell でパスとしてサポートされない文字が含まれている場合があります。 Windows PowerShell パスでこの識別子を使用する場合は、これらの文字をエスケープするか、この文字に特殊なエンコードを使用する必要があります。

Note

SQL Server PowerShell モジュールには SqlServerSQLPS の 2 つがあります。

SqlServer モジュールは、使用する現在の PowerShell モジュールです。

SQLPS モジュールは、(後方互換性のため) SQL Server のインストールに含まれていますが、今後更新されることはありません。

SqlServer モジュールには、SQLPS のコマンドレットの更新バージョンに加え、最新の SQL 機能をサポートする新しいコマンドレットが含まれています。

PowerShell ギャラリーから SqlServer モジュールをインストールします。

詳細については、「SQL Server PowerShell」を参照してください。

Windows PowerShell パス内の SQL Server 識別子

Windows PowerShell プロバイダーは、Windows ファイル システムに似たパス構造を使用してデータ階層を公開します。 SQL Server プロバイダーは、 SQL Server オブジェクトへのパスを実装します。 データベース エンジンについては、ドライブが SQLSERVER: に、最初のフォルダーが \SQL に設定され、データベース オブジェクトがコンテナーおよびアイテムとして参照されます。 これは、 AdventureWorks2022 の既定のインスタンスにある データベース エンジンデータベースの Purchasing スキーマ内の Vendor テーブルへのパスです。

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022\Tables\Purchasing.Vendor  

SQL Server 識別子は、テーブル名や列名などの SQL Server オブジェクトの名前です。 SQL Server 識別子には 2 つの種類があります。

  • 標準識別子には、Windows PowerShell パスでもサポートされている一連の文字のみを使用できます。 これらの名前は、変更することなく Windows PowerShell パスで使用できます。

  • 区切られた識別子には、Windows PowerShell パス名ではサポートされない文字を使用できます。 区切られた識別子には、角かっこで囲まれた識別子 ([IdentifierName]) と二重引用符で囲まれた識別子 ("IdentifierName") があります。 区切られた識別子に Windows PowerShell パスではサポートされない文字を使用する場合は、識別子をコンテナー名またはアイテム名として使用する前に、その文字をエンコードまたはエスケープする必要があります。 エンコードはすべての文字に有効です。 コロン (:) などの一部の文字は、エスケープできません。

コマンドレットでの SQL Server 識別子

SQL Server コマンドレットには、識別子を入力として使用するパラメーターを持つものがあります。 このパラメーターの値は、通常、引用符で囲まれた文字列定数として指定されるか、文字列変数で指定されます。 識別子を文字列定数または文字列変数で指定すると、Windows PowerShell でサポートされる一連の文字と競合することがありません。

SQL Server 識別子のタスク

タスクの説明 [アーティクル]
インスタンス名 (インスタンスが実行されているコンピューターの名前を含む) の指定方法について説明します。 SQL Server PowerShell プロバイダーでのインスタンスの指定
Windows PowerShell のパスでサポートされていない区切られた識別子において、文字の 16 進エンコードを指定する方法について説明します。 また、16 進文字をデコードする方法についても説明します。 SQL Server 識別子のエンコードとデコード
Windows PowerShell のパスでサポートされない文字にエスケープ文字を使用する方法について説明します。 SQL Server 識別子のエスケープ

参照